>> SPEAKER: Laten we een programma schrijven dat vraagt ​​de gebruiker om twee strings en
Vervolgens meldt of die strings gelijk of niet gelijk.
Ik heb ons al begonnen hier uit door bellen printf tweemaal en bellen
Tweemaal getString, het opslaan van de terugkeer waarden van s en t respectievelijk.
>> Nu, mijn instinct om te vergelijken deze twee snaren zou de vertrouwde gebruiken
gelijkheidsoperator -
Als s gelijk gelijk t.
Dan ga ik verder en afdrukken gaan uit "Je hebt getypt hetzelfde!
Anders, als dat is niet waar, ik ben gewoon gaat printf typen ("Je hebt getypt
verschillende dingen!
>> Vrij eenvoudig -
Ik ben gewoon te vergelijken en tegen t, en als ze gelijk zijn,
printen zo veel.
Laten we dit programma te compileren en uit te voeren.
Maak vergelijken 0. / Vergelijken 0, zeg iets, hello,
iets zeggen, hallo.
>> Helaas, het programma denkt dat ik heb getypt verschillende dingen, hoewel ik
duidelijk getypt "hallo" de dezelfde manier beide keren.
Nu, waarom zou dat zijn?
>> Nou, het blijkt dat dit alles tijd, hebben snaren een beetje meer geweest
complexer dan een reeks tekens onder de motorkap.
In werkelijkheid, een string is een pointer of een adres, specifiek dit adres
van het eerste teken in dat reeks tekens.
>> En dus, als we vergelijken s tegen t met het gelijke gelijk-teken, we zijn
eigenlijk vraagt, is dit adres gelijk gelijk naar dit adres?
En dat zal niet het geval zijn als de gebruiker in twee verschillende heeft getypt
strings en we hebben GetString twee keer gebeld om ze te krijgen, omdat het geheugen
dat GetString gebruikt voor het opslaan van de eerste koord zou hier in het RAM, maar de
geheugen dat GetString gebruikt om op te slaan de tweede snaar gaat
hier in het RAM zijn.
En natuurlijk dan die twee stukjes geheugen verschillende adressen
hun eerste karakters.
>> Dus is s gelijk gelijk naar t?
Nou, nee.
Als s en t die naar verschillende delen van het geheugen, als ze zouden zijn door
roepen GetString twee keer, ze zijn niet, in feite zal hetzelfde zijn.
Dus lijkt het het geval dat voor twee strings te vergelijken in de intuïtieve
manier die we verwachten, karakter voor karakter, andere techniek hebben we
helemaal.