1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> DAVID J. Malan: Hãy viết một chương trình nhắc nhở người sử dụng cho một chuỗi và 3 00:00:03,140 --> 00:00:07,210 sau đó tiến hành in chuỗi nhân vật cho một ký tự trên mỗi dòng. 4 00:00:07,210 --> 00:00:10,570 Bây giờ trong quá khứ, chúng tôi đã làm như vậy có lẽ với ký hiệu khung vuông, 5 00:00:10,570 --> 00:00:13,680 xử lý có hiệu quả một chuỗi là một mảng các ký tự. 6 00:00:13,680 --> 00:00:17,200 >> Nhưng lần này, chúng ta hãy thay vì điều trị một chuỗi cho những gì nó thực sự là, một 7 00:00:17,200 --> 00:00:18,770 con trỏ hoặc một địa chỉ. 8 00:00:18,770 --> 00:00:22,420 Cụ thể, địa chỉ của một nhân vật, thực sự là địa chỉ của 9 00:00:22,420 --> 00:00:25,740 ký tự đầu tiên, trong một chuỗi các nhân vật mà chúng ta biết chung 10 00:00:25,740 --> 00:00:26,860 như là một chuỗi. 11 00:00:26,860 --> 00:00:30,740 >> Hãy đầu tiên khai báo một chuỗi cho những gì nó thực sự là, char *. 12 00:00:30,740 --> 00:00:31,770 Và chúng tôi sẽ gọi nó s. 13 00:00:31,770 --> 00:00:34,670 Và sau đó gán cho nó trở lại giá trị có được chuỗi. 14 00:00:34,670 --> 00:00:36,380 >> Chúng ta hãy tiếp theo làm một số kiểm tra lỗi. 15 00:00:36,380 --> 00:00:42,920 Nếu s là vô giá trị, chúng ta hãy trở lại ngay lập tức để chúng tôi không vô tình 16 00:00:42,920 --> 00:00:45,630 tới đích mà con trỏ null. 17 00:00:45,630 --> 00:00:49,750 >> Tiếp theo, hãy lặp qua nhân vật trong s như sau. 18 00:00:49,750 --> 00:00:52,390 Cho int, tôi được 0. 19 00:00:52,390 --> 00:00:55,890 n bằng với chiều dài chuỗi s. 20 00:00:55,890 --> 00:00:58,050 Làm điều này để khi i nhỏ hơn n. 21 00:00:58,050 --> 00:01:00,690 Và mỗi lần lặp, tăng i. 22 00:01:00,690 --> 00:01:02,710 >> Và những gì chúng ta muốn làm trên mỗi lần lặp? 23 00:01:02,710 --> 00:01:06,180 Bây giờ hãy in ra trên mỗi lần lặp một nhân vật duy nhất 24 00:01:06,180 --> 00:01:07,910 theo sau là một dòng mới. 25 00:01:07,910 --> 00:01:10,010 Vâng, những gì nhân vật làm chúng tôi muốn in? 26 00:01:10,010 --> 00:01:16,850 Tôi đề nghị chúng tôi đi đến địa chỉ mà bằng tổng của s cộng với tôi. 27 00:01:16,850 --> 00:01:18,390 >> Bây giờ, tại sao biểu thức? 28 00:01:18,390 --> 00:01:22,130 Vâng, nhớ lại rằng được lưu trữ trong s là địa chỉ của ký tự đầu tiên 29 00:01:22,130 --> 00:01:23,490 trong chuỗi của chúng tôi, s. 30 00:01:23,490 --> 00:01:27,470 Trong khi đó, tôi đang được tăng lên trên mỗi lần lặp để nó bắt đầu từ 0, 31 00:01:27,470 --> 00:01:29,590 sau đó đi đến 1, sau đó đi vào 2. 32 00:01:29,590 --> 00:01:33,870 >> Vì vậy, nói cách khác, s cộng với tôi một cách hiệu quả đại diện cho địa chỉ của 33 00:01:33,870 --> 00:01:35,990 nhân vật thứ i trong s. 34 00:01:35,990 --> 00:01:40,830 Vì vậy, nếu chúng ta đi đến địa chỉ đó bằng cách nhà điều hành *, chúng tôi sẽ đi đến 35 00:01:40,830 --> 00:01:42,650 nhân vật thứ i trong chuỗi. 36 00:01:42,650 --> 00:01:45,700 Và đó là giá trị mà sẽ được thay thế cho giữ chỗ của chúng tôi, 37 00:01:45,700 --> 00:01:46,840 phần trăm C. 38 00:01:46,840 --> 00:01:47,840 >> Hãy xác nhận càng nhiều. 39 00:01:47,840 --> 00:01:51,720 Hãy tiết kiệm, biên dịch, và chạy chương trình này. 40 00:01:51,720 --> 00:01:55,990 Làm cho con trỏ, con trỏ dấu chấm dấu gạch chéo. 41 00:01:55,990 --> 00:01:58,780 Và bây giờ tôi sẽ cho nó một chuỗi như hello. 42 00:01:58,780 --> 00:01:59,600 Nhập. 43 00:01:59,600 --> 00:02:03,770 >> Và quả thật, tôi thấy H-E-L-L-O, với mỗi char trên một dòng riêng. 44 00:02:03,770 --> 00:02:05,410