1 00:00:00,000 --> 00:00:00,620 2 00:00:00,620 --> 00:00:03,140 >> David J. MALAN: magsulat ng isang programa Hayaan na prompt ang user para sa isang string at 3 00:00:03,140 --> 00:00:07,210 pagkatapos ay magpatuloy upang i-print na string character para sa character na isa sa bawat linya. 4 00:00:07,210 --> 00:00:10,570 Ngayon sa nakaraan, kami sana ay nagagawa malamang na may parisukat pagtatanda bracket, 5 00:00:10,570 --> 00:00:13,680 mabisang pagpapagamot ng isang string ay isang hanay ng mga character. 6 00:00:13,680 --> 00:00:17,200 >> Ngunit sa halip tinatrato ang oras na ito, sabihin isang string para sa kung ano ito ay tunay na, isang 7 00:00:17,200 --> 00:00:18,770 pointer o ng isang address. 8 00:00:18,770 --> 00:00:22,420 Sa partikular, ang address ng isang karakter, talaga ang address ng 9 00:00:22,420 --> 00:00:25,740 unang character, sa isang pagkakasunod-sunod ng mga character na sama-sama namin alam 10 00:00:25,740 --> 00:00:26,860 bilang isang string. 11 00:00:26,860 --> 00:00:30,740 >> Ng unang magpahayag ng isang string para sa Hayaan ano ito talaga ay, pansamantalang trabaho *. 12 00:00:30,740 --> 00:00:31,770 At muli naming tumawag ito ay s. 13 00:00:31,770 --> 00:00:34,670 At pagkatapos ay italaga ito ang balik halaga ng get string. 14 00:00:34,670 --> 00:00:36,380 >> Ng susunod na gawin ang ilang mga error checking Hayaan. 15 00:00:36,380 --> 00:00:42,920 Kung s ay walang bisa, agad na bumalik ng ipaalam nang sa gayon ay hindi namin sinasadyang 16 00:00:42,920 --> 00:00:45,630 dereference na null pointer. 17 00:00:45,630 --> 00:00:49,750 >> Susunod, ay umulit sa ibabaw ng ipaalam character sa mga tulad ng sumusunod. 18 00:00:49,750 --> 00:00:52,390 Para sa int, nakakakuha i 0. 19 00:00:52,390 --> 00:00:55,890 n ay katumbas ng haba ng string ng mga s. 20 00:00:55,890 --> 00:00:58,050 Gawin ito hangga't i Mababa sa n. 21 00:00:58,050 --> 00:01:00,690 At sa bawat pag-ulit, dinagdagan i. 22 00:01:00,690 --> 00:01:02,710 >> At ano ang gusto naming gawin sa bawat pag-ulit? 23 00:01:02,710 --> 00:01:06,180 Hayaan i-print ng ngayon out sa bawat pag-ulit isang solong character 24 00:01:06,180 --> 00:01:07,910 sinusundan ng isang bagong linya. 25 00:01:07,910 --> 00:01:10,010 Well, kung ano ang character na gawin gusto naming i-print? 26 00:01:10,010 --> 00:01:16,850 Ipanukala ko na pumunta kami sa address na katumbas ang kabuuan ng mga plus i. 27 00:01:16,850 --> 00:01:18,390 >> Ngayon, kung bakit na expression? 28 00:01:18,390 --> 00:01:22,130 Well, isipin na naka-imbak sa s ay ang address ng unang character 29 00:01:22,130 --> 00:01:23,490 sa aming mga string, s. 30 00:01:23,490 --> 00:01:27,470 Samantala, ini-i ay incremented sa sa bawat pag-ulit upang ito ay nagsisimula sa 0, 31 00:01:27,470 --> 00:01:29,590 pagkatapos ay napupunta sa 1, pagkatapos ay napupunta sa 2. 32 00:01:29,590 --> 00:01:33,870 >> Kaya sa ibang salita, mga plus i epektibong Kinakatawan ng address ng 33 00:01:33,870 --> 00:01:35,990 ang mga i-ika-character sa s. 34 00:01:35,990 --> 00:01:40,830 Kaya kung pumunta kami sa address na iyon sa pamamagitan ng paraan ng ang * operator, magpapadala kami ay pagpunta sa 35 00:01:40,830 --> 00:01:42,650 ika-i na character sa string. 36 00:01:42,650 --> 00:01:45,700 At iyon ang halaga na magiging substituted para sa aming mga placeholder, 37 00:01:45,700 --> 00:01:46,840 porsiyento C. 38 00:01:46,840 --> 00:01:47,840 >> Ni kumpirmahin ng maraming Hayaan. 39 00:01:47,840 --> 00:01:51,720 Ni-save Hayaan, sumulat ng libro, at patakbuhin ang program na ito. 40 00:01:51,720 --> 00:01:55,990 Gumawa ng mga payo, tuldok slash na pointer. 41 00:01:55,990 --> 00:01:58,780 At ngayon, makikita bigyan ko ito ng string tulad ng halo. 42 00:01:58,780 --> 00:01:59,600 Ipasok. 43 00:01:59,600 --> 00:02:03,770 >> At sa katunayan, nakikita ko H-E-L-L-O, na may bawat pansamantalang trabaho sa sarili nitong linya. 44 00:02:03,770 --> 00:02:05,410