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