1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> DAVID J. MALAN: Mari kita menulis program yang meminta pengguna untuk tali dan 3 00:00:03,140 --> 00:00:07,210 kemudian meneruskan untuk mencetak rentetan yang watak untuk satu aksara setiap baris. 4 00:00:07,210 --> 00:00:10,570 Sekarang pada masa lalu, kita akan berbuat demikian mungkin dengan notasi kurungan persegi, 5 00:00:10,570 --> 00:00:13,680 berkesan merawat rentetan adalah pelbagai watak-watak. 6 00:00:13,680 --> 00:00:17,200 >> Tetapi kali ini, mari kita bukannya merawat rentetan untuk apa yang ia benar-benar adalah, yang 7 00:00:17,200 --> 00:00:18,770 penunjuk atau alamat. 8 00:00:18,770 --> 00:00:22,420 Khususnya, alamat yang watak, benar-benar alamat 9 00:00:22,420 --> 00:00:25,740 watak pertama, dalam urutan watak-watak yang kita tahu secara kolektif 10 00:00:25,740 --> 00:00:26,860 sebagai rentetan. 11 00:00:26,860 --> 00:00:30,740 >> Mari pertama mengisytiharkan rentetan untuk apa yang ia benar-benar adalah, char *. 12 00:00:30,740 --> 00:00:31,770 Dan kita akan panggil ia s. 13 00:00:31,770 --> 00:00:34,670 Dan kemudian sediakan pulangan nilai daripada acara tali. 14 00:00:34,670 --> 00:00:36,380 >> Mari kita seterusnya melakukan pemeriksaan kesilapan. 15 00:00:36,380 --> 00:00:42,920 Jika s adalah batal, mari kita kembali segera supaya kita tidak sengaja 16 00:00:42,920 --> 00:00:45,630 dereference bahawa penunjuk null. 17 00:00:45,630 --> 00:00:49,750 >> Seterusnya, mari kita melelar sepanjang watak-watak dalam s seperti berikut. 18 00:00:49,750 --> 00:00:52,390 Untuk int, i mendapat 0. 19 00:00:52,390 --> 00:00:55,890 n sama panjang tali s. 20 00:00:55,890 --> 00:00:58,050 Adakah ini selama i adalah kurang daripada n. 21 00:00:58,050 --> 00:01:00,690 Dan pada setiap lelaran, kenaikan i. 22 00:01:00,690 --> 00:01:02,710 >> Dan apa yang kita mahu lakukan pada setiap lelaran? 23 00:01:02,710 --> 00:01:06,180 Sekarang mari kita mencetak pada setiap lelaran satu aksara 24 00:01:06,180 --> 00:01:07,910 diikuti dengan baris baru. 25 00:01:07,910 --> 00:01:10,010 Nah, apa watak melakukan kita ingin mencetak? 26 00:01:10,010 --> 00:01:16,850 Saya mencadangkan supaya kita pergi ke alamat yang sama dengan jumlah s plus i. 27 00:01:16,850 --> 00:01:18,390 >> Sekarang, mengapa ungkapan itu? 28 00:01:18,390 --> 00:01:22,130 Nah, masih ingat bahawa disimpan di dalam s adalah alamat aksara pertama 29 00:01:22,130 --> 00:01:23,490 dalam rentetan kami, s. 30 00:01:23,490 --> 00:01:27,470 Sementara itu, saya sedang incremented pada setiap lelaran supaya ia bermula pada 0, 31 00:01:27,470 --> 00:01:29,590 kemudian pergi ke 1, kemudian pergi ke 2. 32 00:01:29,590 --> 00:01:33,870 >> Jadi dalam erti kata lain, s plus i yang mewakili alamat 33 00:01:33,870 --> 00:01:35,990 i-ke-watak dalam s. 34 00:01:35,990 --> 00:01:40,830 Jadi, jika kita pergi ke alamat yang melalui operator *, kami akan pergi ke 35 00:01:40,830 --> 00:01:42,650 i-ke-watak dalam tali. 36 00:01:42,650 --> 00:01:45,700 Dan itulah nilai yang akan digantikan dengan pemegang tempat kami, 37 00:01:45,700 --> 00:01:46,840 peratus C. 38 00:01:46,840 --> 00:01:47,840 >> Mari kita mengesahkan sebanyak. 39 00:01:47,840 --> 00:01:51,720 Mari kita menyimpan, menyusun, dan menjalankan program ini. 40 00:01:51,720 --> 00:01:55,990 Membuat petunjuk, petunjuk slash dot. 41 00:01:55,990 --> 00:01:58,780 Dan sekarang saya akan memberikan tali seperti khabar. 42 00:01:58,780 --> 00:01:59,600 Enter. 43 00:01:59,600 --> 00:02:03,770 >> Dan sesungguhnya, saya melihat H-E-L-L-O, dengan setiap char pada baris sendiri. 44 00:02:03,770 --> 00:02:05,410