1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> Дэвид Дж. Малан: Давайте напишем программу что запрашивает у пользователя строку и 3 00:00:03,140 --> 00:00:07,210 затем приступить к печати эту строку характер для символов по одному на строку. 4 00:00:07,210 --> 00:00:10,570 Теперь и в прошлом, мы сделали бы так вероятно, с квадратным нотации кронштейна, 5 00:00:10,570 --> 00:00:13,680 эффективного лечения строку представляет собой массив символов. 6 00:00:13,680 --> 00:00:17,200 >> Но на этот раз, давайте вместо лечения строка за то, что он действительно есть, 7 00:00:17,200 --> 00:00:18,770 указатель или адрес. 8 00:00:18,770 --> 00:00:22,420 В частности, адрес характер, на самом деле также адрес 9 00:00:22,420 --> 00:00:25,740 Первый символ, в последовательности символы, которые мы все вместе знают 10 00:00:25,740 --> 00:00:26,860 в виде строки. 11 00:00:26,860 --> 00:00:30,740 >> Давайте сначала объявить строку для что это такое, символ *. 12 00:00:30,740 --> 00:00:31,770 И мы будем называть это с. 13 00:00:31,770 --> 00:00:34,670 А затем назначить его возвращение стоимость краткосрочного строки. 14 00:00:34,670 --> 00:00:36,380 >> Давайте следующий сделать обработку ошибок. 15 00:00:36,380 --> 00:00:42,920 Если с нулевой, давайте немедленно вернуться так, что мы не случайно 16 00:00:42,920 --> 00:00:45,630 разыменовать этого нулевого указателя. 17 00:00:45,630 --> 00:00:49,750 >> Далее, давайте перебора символов в сек следующим образом. 18 00:00:49,750 --> 00:00:52,390 Для внутр, я получает 0. 19 00:00:52,390 --> 00:00:55,890 н равна длину строки с. 20 00:00:55,890 --> 00:00:58,050 Сделайте это, пока я меньше п. 21 00:00:58,050 --> 00:01:00,690 И на каждой итерации, увеличивать I. 22 00:01:00,690 --> 00:01:02,710 >> И то, что мы хотим делать на каждой итерации? 23 00:01:02,710 --> 00:01:06,180 Давайте теперь распечатать на каждой итерации один символ 24 00:01:06,180 --> 00:01:07,910 затем с новой строки. 25 00:01:07,910 --> 00:01:10,010 Ну, какой характер делать мы хотим напечатать? 26 00:01:10,010 --> 00:01:16,850 Я предлагаю, чтобы мы идем по адресу что равняется сумме с плюс я. 27 00:01:16,850 --> 00:01:18,390 >> Теперь, почему это выражение? 28 00:01:18,390 --> 00:01:22,130 Ну, вспомните, что хранится в с является адрес первого символа 29 00:01:22,130 --> 00:01:23,490 в нашей строки, с. 30 00:01:23,490 --> 00:01:27,470 Между тем, я в настоящее время увеличивается на каждая итерация так, что он начинается с 0, 31 00:01:27,470 --> 00:01:29,590 затем идет в 1, затем идет в 2. 32 00:01:29,590 --> 00:01:33,870 >> Итак, другими словами, с плюс я эффективно представляет собой адрес 33 00:01:33,870 --> 00:01:35,990 я-й символ в с. 34 00:01:35,990 --> 00:01:40,830 Так что если мы идем по этому адресу путем * оператор, мы будем идти к 35 00:01:40,830 --> 00:01:42,650 я-й символ в строке. 36 00:01:42,650 --> 00:01:45,700 И это значение, которое будет заменить нашего заполнителя, 37 00:01:45,700 --> 00:01:46,840 процентов С. 38 00:01:46,840 --> 00:01:47,840 >> Давайте подтвердить, как много. 39 00:01:47,840 --> 00:01:51,720 Спасем, компиляции и запустить эту программу. 40 00:01:51,720 --> 00:01:55,990 Сделать указатели, точечные указатели косой. 41 00:01:55,990 --> 00:01:58,780 А теперь я дам ему строка, как привет. 42 00:01:58,780 --> 00:01:59,600 Enter. 43 00:01:59,600 --> 00:02:03,770 >> И в самом деле, я вижу Н-Е-Л-Л-О, с каждый символ в отдельной строке. 44 00:02:03,770 --> 00:02:05,410