1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> DAVID J. Malan: Le të shkruaj një program që bën të përdoruesit për një varg dhe 3 00:00:03,140 --> 00:00:07,210 pastaj do të vazhdojë për të shtypur atë varg karakter për një karakter në linjë. 4 00:00:07,210 --> 00:00:10,570 Tani në të kaluarën, ne do të kishte bërë kaq ndoshta me katror simbol i kllapave, 5 00:00:10,570 --> 00:00:13,680 trajtimin në mënyrë efektive një varg është një grup të karaktereve. 6 00:00:13,680 --> 00:00:17,200 >> Por në këtë kohë, le të në vend të trajtuar një varg për atë që me të vërtetë është, një 7 00:00:17,200 --> 00:00:18,770 akrep ose një adresë. 8 00:00:18,770 --> 00:00:22,420 Në mënyrë të veçantë, adresa e një karakter, me të vërtetë adresa e 9 00:00:22,420 --> 00:00:25,740 karakteri i parë, në një sekuencë të karaktere që ne kolektivisht di 10 00:00:25,740 --> 00:00:26,860 si një varg. 11 00:00:26,860 --> 00:00:30,740 >> Le të parë të deklarojë një varg për ajo që me të vërtetë është, char *. 12 00:00:30,740 --> 00:00:31,770 Dhe ne do të thërrasë atë s. 13 00:00:31,770 --> 00:00:34,670 Dhe pastaj të caktojë atë të kthimit Vlera e vargut get. 14 00:00:34,670 --> 00:00:36,380 >> Le të ardhshëm të bëjë disa kontrolluar gabim. 15 00:00:36,380 --> 00:00:42,920 Nëse është null, le të kthehet menjëherë në mënyrë që ne bëjmë nuk aksidentalisht 16 00:00:42,920 --> 00:00:45,630 dereference atë akrep null. 17 00:00:45,630 --> 00:00:49,750 >> Tjetër, le të iterate mbi karaktere në s si më poshtë. 18 00:00:49,750 --> 00:00:52,390 Për int, i merr 0. 19 00:00:52,390 --> 00:00:55,890 n është e barabartë me gjatësinë e string s. 20 00:00:55,890 --> 00:00:58,050 E bëjnë këtë për sa kohë që i është më pak se n. 21 00:00:58,050 --> 00:01:00,690 Dhe në çdo përsëritje, rritje i. 22 00:01:00,690 --> 00:01:02,710 >> Dhe ajo që duam të të bërë në çdo ripërsëritje? 23 00:01:02,710 --> 00:01:06,180 Le tani të shtypura jashtë në çdo ripërsëritje një karakter të vetëm 24 00:01:06,180 --> 00:01:07,910 pasuar nga një linjë të re. 25 00:01:07,910 --> 00:01:10,010 E pra, çfarë karakteri të bëjë ne duam të shtypura? 26 00:01:10,010 --> 00:01:16,850 Unë propozoj që ne të shkojnë në adresën e që është e barabartë me shumën e s plus i. 27 00:01:16,850 --> 00:01:18,390 >> Tani, pse kjo shprehje? 28 00:01:18,390 --> 00:01:22,130 E pra, kujtoj se ruhet në s është adresa e karakterit parë 29 00:01:22,130 --> 00:01:23,490 në vargun tonë, s. 30 00:01:23,490 --> 00:01:27,470 Ndërkohë, i është duke u incremented në çdo përsëritje kështu që fillon nga 0, 31 00:01:27,470 --> 00:01:29,590 atëherë shkon në 1, pastaj shkon në 2. 32 00:01:29,590 --> 00:01:33,870 >> Pra, me fjalë të tjera, s plus i në mënyrë efektive paraqet adresën e 33 00:01:33,870 --> 00:01:35,990 karakteri i-th në s. 34 00:01:35,990 --> 00:01:40,830 Pra, nëse ne do të shkojmë në atë adresë me anë të operatori *, ne do të shkojnë për të 35 00:01:40,830 --> 00:01:42,650 Karakteri i-th në vargun. 36 00:01:42,650 --> 00:01:45,700 Dhe kjo është vlera që do të jetë zëvendësua placeholder tonë, 37 00:01:45,700 --> 00:01:46,840 qind C. 38 00:01:46,840 --> 00:01:47,840 >> Le të konfirmojnë sa më shumë. 39 00:01:47,840 --> 00:01:51,720 Le të shpëtojë, përpilojnë, dhe të drejtuar këtë program. 40 00:01:51,720 --> 00:01:55,990 Bëni pointers, dot Slash pointers. 41 00:01:55,990 --> 00:01:58,780 Dhe tani unë do të të jap një string si përshëndetje. 42 00:01:58,780 --> 00:01:59,600 Shkruani. 43 00:01:59,600 --> 00:02:03,770 >> Dhe me të vërtetë, unë shoh H-E-L-L-O, me çdo char në linjën e vet. 44 00:02:03,770 --> 00:02:05,410