დინამიკები მოდით დავწეროთ პროგრამა, რომელიც თხოვს მომხმარებელს, ორი სტრიქონები და მაშინ იუწყება, თუ არა იმ strings იგივეა თუ არა იგივე. მე უკვე დაიწყო us off აქ მოუწოდებდა printf ორჯერ და მოუწოდებდა GetString ორჯერ, შენახვის დაბრუნება ღირებულებები და ხეები, შესაბამისად. ახლა, ჩემი ინსტინქტები შედარება ამ ორ strings იქნება გამოიყენოს ნაცნობი თანასწორობის ოპერატორი - თუ ტოლია ტოლია ტ. შემდეგ მე ვაპირებ წავიდეთ წინ და ბეჭდვითი out "თქვენ აკრეფილი იგივე! სხვაგან, თუ ეს ასე არ არის, მე უბრალოდ აპირებს აკრიფოთ printf ("თქვენ აკრეფილი სხვადასხვა რამ! საკმაოდ მარტივია - მე, უბრალოდ, შედარებით s წინააღმდეგ t, და თუ ისინი თანასწორი, დაბეჭდვისას იმდენი. მოდით კომპილირდება და აწარმოებს ამ პროგრამის. რათა შედარების 0. / შედარება 0, ვთქვა რაღაც, hello, ვთქვა რაღაც, hello. სამწუხაროდ, პროგრამა ფიქრობს, მე აკრეფილი სხვადასხვა ნივთები, მიუხედავად იმისა, რომ აშკარად აკრეფილი "Hello" ისევე, როგორც ჯერ. ახლა, რატომ შეიძლება რომ იყოს? ასევე, ირკვევა, რომ ყველა ამ დრო, strings ყოფილიყო ცოტა მეტი რთული, ვიდრე თანმიმდევრობა გმირები ქვევმოთ hood. სინამდვილეში, სიმებიანი მომცეთ ან მისამართი, კონკრეტულად მისამართი პირველი პერსონაჟი, რომ თანმიმდევრობა სიმბოლო. და ამრიგად, როდესაც შევადარებთ s წინააღმდეგ t თანაბარი თანაბარი ნიშანი, ჩვენ რეალურად ეკითხება, ამ მისამართზე თანაბარი ტოლია ამ მისამართზე? და ეს არ იქნება იმ შემთხვევაში, თუ მომხმარებელს უკვე აკრეფილი ორი სხვადასხვა strings და ჩვენ მოუწოდა GetString ორჯერ მიიღონ მათ, რადგან ხსოვნას რომ GetString იყენებს შესანახად პირველი სიმებიანი შეიძლება აქ RAM, მაგრამ მეხსიერების რომ GetString იყენებს შესანახად მეორე სიმებიანი აპირებს იყოს აქ RAM. და რა თქმა უნდა, მაშინ, იმ ორი მოცულობით მეხსიერება აქვს სხვადასხვა მისამართები მათი პირველი სიმბოლოები. ამიტომ არის ნანახია ტოლია ტოლია T? ისე, არა. იმ შემთხვევაში, თუ და t მიუთითებს სხვადასხვა მოცულობით მეხსიერება, მათ იქნება მიერ მოუწოდებდა GetString ორჯერ, ისინი არ, ფაქტობრივად, იქნება იგივე. ასე რომ, როგორც ჩანს, იმ შემთხვევაში, რომ შედარება ორი strings in ინტუიციური ისე, რომ ჩვენ ველით, ხასიათი ხასიათი, ჩვენ გვჭირდება კიდევ ერთი ტექნიკა საერთოდ.