1 00:00:00,000 --> 00:00:00,520 2 00:00:00,520 --> 00:00:03,530 >> SPEAKER: Mari kita menulis program yang menggesa pengguna untuk dua tali dan 3 00:00:03,530 --> 00:00:07,170 kemudian melaporkan sama ada mereka tali adalah sama atau tidak sama. 4 00:00:07,170 --> 00:00:10,290 Saya sudah mula kami turun di sini oleh memanggil printf dua kali dan memanggil 5 00:00:10,290 --> 00:00:14,520 GetString dua kali, menyimpan pulangan nilai-nilai dalam s dan t, masing-masing. 6 00:00:14,520 --> 00:00:17,960 >> Sekarang, naluri saya untuk membandingkan kedua-dua tali adalah dengan menggunakan biasa 7 00:00:17,960 --> 00:00:19,160 pengendali kesaksamaan - 8 00:00:19,160 --> 00:00:22,070 jika s sama sama t. 9 00:00:22,070 --> 00:00:28,120 Kemudian saya akan teruskan dan cetak keluar "Anda ditaip perkara yang sama! 10 00:00:28,120 --> 00:00:35,190 Lagi, jika yang tidak benar, saya hanya akan menaip printf ("Anda ditaip 11 00:00:35,190 --> 00:00:37,880 perkara yang berbeza! 12 00:00:37,880 --> 00:00:38,850 >> Agak mudah - 13 00:00:38,850 --> 00:00:41,820 Saya hanya membandingkan s terhadap t, dan jika mereka yang sama, 14 00:00:41,820 --> 00:00:43,250 mencetak sebanyak. 15 00:00:43,250 --> 00:00:45,450 Mari kita menyusun dan menjalankan program ini. 16 00:00:45,450 --> 00:00:51,950 Buat membandingkan 0. / Membandingkan 0, mengatakan sesuatu, hello, 17 00:00:51,950 --> 00:00:54,200 berkata sesuatu, hello. 18 00:00:54,200 --> 00:00:56,870 >> Malangnya, program yang difikirkan saya telah ditaip perkara yang berbeza, walaupun saya 19 00:00:56,870 --> 00:00:59,530 ditaip dengan jelas "hello" yang Cara yang sama kedua-dua kali. 20 00:00:59,530 --> 00:01:00,850 Sekarang, mengapa yang mungkin? 21 00:01:00,850 --> 00:01:03,750 >> Nah, ternyata bahawa semua ini masa, tali telah sedikit lebih 22 00:01:03,750 --> 00:01:06,780 kompleks daripada jujukan aksara di bawah hood. 23 00:01:06,780 --> 00:01:11,450 Pada hakikatnya, tali adalah penunjuk atau alamat, khususnya alamat 24 00:01:11,450 --> 00:01:14,640 watak yang pertama di jujukan aksara. 25 00:01:14,640 --> 00:01:18,640 >> Dan sebagainya apabila kita bandingkan s terhadap t dengan tanda yang sama yang sama, kami 26 00:01:18,640 --> 00:01:23,200 sebenarnya bertanya, adalah alamat ini sama sama dengan alamat ini? 27 00:01:23,200 --> 00:01:26,850 Dan itu tidak akan menjadi kes itu jika pengguna telah ditaip dalam dua yang berbeza 28 00:01:26,850 --> 00:01:30,370 tali dan kami dipanggil GetString dua kali untuk mendapatkan mereka, kerana memori 29 00:01:30,370 --> 00:01:34,480 GetString yang menggunakan untuk menyimpan yang pertama tali mungkin berada di sini dalam RAM, tetapi 30 00:01:34,480 --> 00:01:37,120 memori yang GetString menggunakan untuk menyimpan rentetan kedua akan 31 00:01:37,120 --> 00:01:38,760 untuk berada di sini dalam RAM. 32 00:01:38,760 --> 00:01:42,380 Dan sudah tentu, kemudian, kedua-dua ketulan ingatan mempunyai alamat yang berbeza untuk 33 00:01:42,380 --> 00:01:44,220 watak-watak mereka yang pertama. 34 00:01:44,220 --> 00:01:46,120 >> Begitu juga s sama sama dengan t? 35 00:01:46,120 --> 00:01:46,885 Nah, tidak. 36 00:01:46,885 --> 00:01:50,510 Jika s dan t menunjuk kepada yang berbeza ketulan memori, kerana mereka akan dengan 37 00:01:50,510 --> 00:01:54,140 memanggil GetString dua kali, mereka tidak, sebenarnya, akan menjadi sama. 38 00:01:54,140 --> 00:01:57,700 Jadi seolah-olah kes bahawa untuk membandingkan dua tali di intuitif 39 00:01:57,700 --> 00:02:01,050 cara yang kita jangkakan, watak untuk watak, kita perlu teknik lain 40 00:02:01,050 --> 00:02:02,300 sama sekali. 41 00:02:02,300 --> 00:02:03,902