>> SPEAKER: Да се ​​напише програма, която подсказва на потребителя за две струни и
след това докладва дали тези струни са еднакви или не е същото.
Вече ни започнаха от тук призовава ФОРМАТ два пъти и вика
GetString два пъти, съхраняване на връщането стойности в S и тона, съответно.
>> Сега моите инстинкти да сравнят тези две струни ще бъде да се използва познатото
оператор на половете -
и ако е равен равнява тон.
Тогава аз ще отида напред и печат навън "сте написали едно и също нещо!
Иначе, ако това не е вярно, аз съм просто Ще въведете ФОРМАТ ("Вие въвели
различни неща!
>> Сравнително лесна -
Аз съм просто сравняване и срещу т, а ако те са равни,
отпечатване толкова много.
Нека да компилирате и стартирате тази програма.
Направете сравнение 0. / Сравни 0, кажи нещо, здравей,
каже нещо, здравей.
>> За съжаление, програмата мисли, че аз съм въвели различни неща, въпреки че
ясно написали "здравей" на същия начин и двата пъти.
Сега, защо може да е това?
>> Е, оказва се, че всичко това време, струни са били малко повече
комплекс от поредица от символи под предния капак.
В действителност, един низ е указател или адрес, по-специално на адрес
на първия знак в тази поредица от знаци.
>> И така, когато сравняваме и срещу т с равен знака за равенство, ние сме
всъщност иска, е този адрес равен равен на този адрес?
И това няма да се случи, ако потребителят е въвел в две различни
струни и сме нарича GetString два пъти да ги вземем, защото паметта
че GetString използва за съхраняване на първо низ може да бъде тук, в RAM, но
памет, която GetString използва за съхраняване на втория низ ще
да бъда тук в RAM.
И разбира се, след това, тези две парчета памет имат различни адреси за
първите си герои.
>> Така е и равно равно на тон?
Ами, не.
Ако S и т са насочени към различни парчета на паметта, тъй като те биха били от
призовава GetString два пъти, те не са, в действителност, ще бъде една и съща.
Така че изглежда да е така, че да сравнят две струни в интуитивното
начин, който ние очакваме, характер за характер, имаме нужда от друга техника
напълно.