SPEAKER: Mari kita menulis sebuah program yang meminta pengguna untuk dua string dan kemudian melaporkan apakah mereka string adalah sama atau tidak sama. Aku sudah mulai kita di sini oleh memanggil printf dua kali dan menelepon GetString dua kali, menyimpan return nilai dalam s dan t masing-masing. Sekarang, naluri saya untuk membandingkan kedua string akan menggunakan akrab operator kesetaraan - jika s sama sama t. Lalu aku akan pergi ke depan dan mencetak out "Anda mengetik hal yang sama! Yang lain, jika itu tidak benar, aku hanya akan mengetik printf ("Anda mengetik hal yang berbeda! Cukup mudah - Saya hanya membandingkan melawan t, dan jika mereka sama, mencetak sebanyak. Mari kita mengkompilasi dan menjalankan program ini. Membuat bandingkan 0. / Membandingkan 0, mengatakan sesuatu, halo, mengatakan sesuatu, halo. Sayangnya, program ini mengira aku sudah mengetik hal yang berbeda, meskipun saya jelas mengetik "halo" yang cara yang sama kedua kali. Sekarang, mengapa bisa begitu? Nah, ternyata semua ini waktu, string telah sedikit lebih kompleks daripada urutan karakter di bawah tenda. Pada kenyataannya, string adalah pointer atau alamat, khususnya alamat dari karakter pertama dalam urutan karakter. Dan ketika kita membandingkan melawan t dengan tanda sama sama, kami benar-benar bertanya, apakah alamat ini sama sama dengan alamat ini? Dan itu tidak akan terjadi jika pengguna telah diketik dalam dua berbeda string dan kami sudah menelepon dua kali GetString untuk mendapatkan mereka, karena memori GetString yang menggunakan untuk menyimpan pertama String mungkin berada di sini dalam RAM, tetapi memori yang GetString digunakan untuk menyimpan string kedua akan berada di sini dalam RAM. Dan tentu saja, kemudian, kedua potongan memori memiliki alamat yang berbeda untuk karakter pertama mereka. Jadi s sama sama dengan t? Nah, tidak ada. Jika s dan t menunjuk ke berbagai potongan memori, karena mereka akan dengan memanggil GetString dua kali, mereka tidak, pada kenyataannya, akan menjadi sama. Jadi tampaknya menjadi kasus bahwa untuk membandingkan dua string di intuitif cara yang kita harapkan, karakter karakter, kita perlu teknik lain sama sekali.