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