1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> Gjuha 1: Kështu që unë të ndjehen si unë kanë tendencë të shkruani printf hello world ose printf 3 00:00:04,010 --> 00:00:08,160 përshëndetje për qind s mjaft shpesh në kontekste të ku unë dua të shtypura nga një 4 00:00:08,160 --> 00:00:11,360 string, ndonjëherë duke i kërkuar pjesë përdoruesit e atë varg. 5 00:00:11,360 --> 00:00:14,980 E pra, nuk do të jetë mirë në qoftë se ne krijuar një funksion i vet tonë të quajtur, 6 00:00:14,980 --> 00:00:19,900 thonë, emrin e të shtypura, qëllimi i të cilit në jetë është thjesht për të shtypur përshëndetje presje 7 00:00:19,900 --> 00:00:24,560 ashtu-dhe-kështu duke e pranuar ashtu-dhe-kështu si argument për këtë funksion? 8 00:00:24,560 --> 00:00:29,220 Ne mund të deklarojë një funksion të vetën tonë ashtu si ne mund të në Scratch si më poshtë. 9 00:00:29,220 --> 00:00:35,280 >> Me fjalë të tjera, mendoj unë do të doja të printf emrin tuaj dhe pastaj të kërkojë nga shfrytëzuesi 10 00:00:35,280 --> 00:00:39,470 për emrin e tij ose të saj me varg s është e barabartë getString. 11 00:00:39,470 --> 00:00:42,060 Dhe atëherë unë dua të thërrasë një funksion vuri emrin print 12 00:00:42,060 --> 00:00:44,340 duke kaluar një s si input saj. 13 00:00:44,340 --> 00:00:47,770 >> Tani për fat të keq, nuk ka asnjë funksion vuri emrin shtypura në C ose në 14 00:00:47,770 --> 00:00:48,950 biblioteka CS50. 15 00:00:48,950 --> 00:00:51,220 Por pa marrë parasysh, sepse ne mund të bëjnë të veten. 16 00:00:51,220 --> 00:00:54,560 Për të deklarojë një funksion të vetën tonë dhe të pastaj zbatuar atë, ne thjesht mund të bëjë 17 00:00:54,560 --> 00:00:59,000 disa dhoma në këtë fotografi dhe të deklarojë ky funksion si më poshtë, i pavlefshëm - 18 00:00:59,000 --> 00:01:01,900 duke nënkuptuar se funksioni nuk është në të vërtetë do të kthehen diçka, 19 00:01:01,900 --> 00:01:03,890 edhe pse ajo do të ketë një efekt anësor - 20 00:01:03,890 --> 00:01:08,030 të shtypura emrin, dhe pastaj le të përcaktojë në kllapa që emri print pret një 21 00:01:08,030 --> 00:01:09,680 Argumenti i tipit string. 22 00:01:09,680 --> 00:01:12,180 Dhe në përgjithësi, ne do të mendojmë e se si një emër. 23 00:01:12,180 --> 00:01:15,140 >> Dhe le të hapur mbajtëse tonë dhe të mbyllur mbajtëse tonë. 24 00:01:15,140 --> 00:01:21,930 Dhe pastaj printf brenda përshëndetje presje Përqindja s re emri linjë presje. 25 00:01:21,930 --> 00:01:24,570 Me fjalë të tjera, edhe pse kjo funksion është vetëm një linjë e kodit, kjo 26 00:01:24,570 --> 00:01:27,290 ka tani kanë disa më e lartë Qëllimi nivelit të shtypura 27 00:01:27,290 --> 00:01:28,950 emri i dikujt me një përshëndetje. 28 00:01:28,950 --> 00:01:33,115 >> Tani brenda kryesore, vëreni se unë jam duke e quajtur emrin e printimit duke aprovuar një s. 29 00:01:33,115 --> 00:01:35,830 Dhe kështu që unë duket tani që të ketë një program i plotë. 30 00:01:35,830 --> 00:01:38,650 Dallimin e vetëm nga të tjerët ne kemi shkruar është se jo vetëm që e bën 31 00:01:38,650 --> 00:01:42,480 ky program kanë kryesor, ajo gjithashtu ka një Deklarata dhe zbatimi i 32 00:01:42,480 --> 00:01:44,740 Emri shtypura, në funksion të mi. 33 00:01:44,740 --> 00:01:49,505 >> Le tani të hartojnë programin tim me make funksion zero, dhe drejtuar atë me dot 34 00:01:49,505 --> 00:01:51,080 çaj funksion zero. 35 00:01:51,080 --> 00:01:53,390 Kur e bëri emrin tim Unë do të shkruani në Davidin. 36 00:01:53,390 --> 00:01:55,830 Dhe unë me të vërtetë jam i përshëndeti me "Hello, David." 37 00:01:55,830 --> 00:02:00,160 >> Tani, ajo rezulton kam shumë me qëllim Emri deklaruar print sipër kryesore, 38 00:02:00,160 --> 00:02:03,860 duke i thënë C paraprakisht se ka ekziston një funksion të quajtur të shtypura 39 00:02:03,860 --> 00:02:06,930 emrin në mënyrë që unë mund të përdorin ajo më vonë në kryesore. 40 00:02:06,930 --> 00:02:11,610 Tani, unë e kishte në vend që të vë emrin e shkruar në fund i dosjen time, si unë sinqerisht 41 00:02:11,610 --> 00:02:15,310 ndoshta duhet të bëjë në mënyrë që eshtrat kryesore gjëja e parë që unë apo 42 00:02:15,310 --> 00:02:18,450 një përdorues tjetër e sheh në kodin tim, rezulton se kodi im është 43 00:02:18,450 --> 00:02:19,780 nuk shkojnë për të hartuar. 44 00:02:19,780 --> 00:02:23,610 >> Në mënyrë të veçantë, nëse unë kthehem në tim dritare terminali dhe të drejtuar të bëjë funksion 45 00:02:23,610 --> 00:02:26,120 zero tani, vini re se unë jam duke bërtitur. 46 00:02:26,120 --> 00:02:30,340 Nëse unë shkoni deri në dritaren time terminal, Unë do të shoh këtë gabim e parë në të kuqe, 47 00:02:30,340 --> 00:02:33,120 Deklarimi i nënkuptuar i Funksioni Emri shtypura. 48 00:02:33,120 --> 00:02:34,220 >> Tani, çfarë do të thotë kjo? 49 00:02:34,220 --> 00:02:37,190 E pra, edhe pse unë kam zbatuar të shtypura emrin në këtë fotografi, unë nuk kam 50 00:02:37,190 --> 00:02:40,080 zbatuar atë para unë kam përdorur atë në kryesore. 51 00:02:40,080 --> 00:02:43,160 Tani, ne mund të kthehemi në të vjetër version dhe të vënë emrin e të shtypura 52 00:02:43,160 --> 00:02:44,450 Zbatimi up top. 53 00:02:44,450 --> 00:02:48,730 >> Por unë mund të në vend të vetëm të japë një aluzion C se ka një funksion që do të vijnë. 54 00:02:48,730 --> 00:02:55,390 Në mënyrë të veçantë, mbi kryesore unë mund të deklaroj shtypura emrin ashtu siç kam bërë më parë, por 55 00:02:55,390 --> 00:02:59,450 fund të vijë me një pikëpresje, duke duke premtuar për të zbatuar, por jo ende 56 00:02:59,450 --> 00:03:02,180 në fakt zbatimin e funksionit e quajti të shtypura. 57 00:03:02,180 --> 00:03:05,860 Unë pastaj mund të ketë kryesor në krye të mia paraqesë si kam shpresuar, dhe unë mund të vërtetë 58 00:03:05,860 --> 00:03:07,440 zbatuar emrin shtypura në pjesën e poshtme. 59 00:03:07,440 --> 00:03:12,860 >> Nëse unë tani kthehet në dritaren time terminalit dhe përpiluar funksion zero me make, 60 00:03:12,860 --> 00:03:14,390 këtë herë ajo harton. 61 00:03:14,390 --> 00:03:18,240 Dhe nëse kam drejtuar atë me funksion dot çaj zero duke siguruar emrin tim, unë jam i 62 00:03:18,240 --> 00:03:20,650 përshëndeti si "Përshëndetje, David." 63 00:03:20,650 --> 00:03:22,268