1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> SPEAKER 1: Ma tunnen, et ma kaldun kirjuta printf tere või printf 3 00:00:04,010 --> 00:00:08,160 tere protsenti s üsna tihti olukordades kui ma tahan välja printida 4 00:00:08,160 --> 00:00:11,360 string, mõnikord küsida kasutaja osa sellest tekstist. 5 00:00:11,360 --> 00:00:14,980 Noh, kas ei oleks tore, kui me loodud funktsiooni oma nimega 6 00:00:14,980 --> 00:00:19,900 öelda, print nimi, kelle eesmärk elus lihtsalt printida tere koma 7 00:00:19,900 --> 00:00:24,560 nii-ja-nii nõustudes nii-ja-nii argumendina, et funktsioon? 8 00:00:24,560 --> 00:00:29,220 Me võime kuulutada funktsiooni oma samuti nagu me ei Scratch järgmiselt. 9 00:00:29,220 --> 00:00:35,280 >> Teisisõnu arvan, et ma tahaks printf oma nimi ja siis paluda kasutajal 10 00:00:35,280 --> 00:00:39,470 tema nimi nööriga s võrdub getString. 11 00:00:39,470 --> 00:00:42,060 Ja siis ma tahan helistada funktsioon nimetatakse print nimi 12 00:00:42,060 --> 00:00:44,340 kulgeb s oma sisend. 13 00:00:44,340 --> 00:00:47,770 >> Nüüd kahjuks ei ole funktsioon nimetatakse print nime C või 14 00:00:47,770 --> 00:00:48,950 CS50 raamatukogu. 15 00:00:48,950 --> 00:00:51,220 Aga ükski asi, sest me saate teha seda ise. 16 00:00:51,220 --> 00:00:54,560 Tunnistada funktsiooni meie endi ja siis rakendada, saame lihtsalt teha 17 00:00:54,560 --> 00:00:59,000 ruumi selle faili ja kuulutada Selle funktsiooni järgmiselt, void - 18 00:00:59,000 --> 00:01:01,900 mis tähendab, et funktsioon ei ole tegelikult läheb tagasi midagi, 19 00:01:01,900 --> 00:01:03,890 kuigi see on kõrvaltoime - 20 00:01:03,890 --> 00:01:08,030 prindi nime ja seejärel olgem täpsustada sulgudes, et print nimi eeldab 21 00:01:08,030 --> 00:01:09,680 argument string-tüüpi. 22 00:01:09,680 --> 00:01:12,180 Ja üldiselt, me arvan selle inimese nimi. 23 00:01:12,180 --> 00:01:15,140 >> Ja olgem avatud meie traksidega ja sulgeda traksidega. 24 00:01:15,140 --> 00:01:21,930 Ja siis printf sees tere koma protsenti s uus liin komaga nimi. 25 00:01:21,930 --> 00:01:24,570 Teisisõnu, kuigi see funktsioon on ainult üks rida koodi, see 26 00:01:24,570 --> 00:01:27,290 Mis nüüd on mõned suuremad tasandil eesmärgiga print 27 00:01:27,290 --> 00:01:28,950 kellegi nime ja tervituse. 28 00:01:28,950 --> 00:01:33,115 >> Nüüd sees peamine, teate, et ma olen kutsudes print nimi sooritades s. 29 00:01:33,115 --> 00:01:35,830 Ja nii ma ilmselt nüüd on täielik programm. 30 00:01:35,830 --> 00:01:38,650 Ainus erinevus on see, teistelt me oleme kirjutanud, et mitte ainult ei 31 00:01:38,650 --> 00:01:42,480 see programm on peamine, see on ka deklaratsiooni ja rakendamine 32 00:01:42,480 --> 00:01:44,740 print nimi, funktsioon minu oma. 33 00:01:44,740 --> 00:01:49,505 >> Olgem nüüd koguda oma programmi teha funktsioon null, ja kasutada seda koos dot 34 00:01:49,505 --> 00:01:51,080 kaldkriips funktsioon nulliga. 35 00:01:51,080 --> 00:01:53,390 Kui küsitakse minu nime Ma kirjuta David. 36 00:01:53,390 --> 00:01:55,830 Ja ma tõesti olen tervitatud koos "Tere, David." 37 00:01:55,830 --> 00:02:00,160 >> Nüüd tuleb välja, ma väga teadlikult deklareeritud print nimi eespool peamine, 38 00:02:00,160 --> 00:02:03,860 seega ütlen C ette, et olemas funktsioon nimega print 39 00:02:03,860 --> 00:02:06,930 nimetada nii, et ma võiks kasutada seda hiljem peamine. 40 00:02:06,930 --> 00:02:11,610 Nüüd oli mul selle asemel panna print nime alt mu pilti, kui ausalt öeldes 41 00:02:11,610 --> 00:02:15,310 ilmselt peaks tegema nii, et peamine on veel Esimene asi, mis ma või 42 00:02:15,310 --> 00:02:18,450 teise kasutaja näeb minu kood, Selgub, et minu kood on 43 00:02:18,450 --> 00:02:19,780 ei kavatse koostada. 44 00:02:19,780 --> 00:02:23,610 >> Nimelt, kui ma lähen tagasi oma terminalis ja run teha funktsioon 45 00:02:23,610 --> 00:02:26,120 null nüüd teate, et ma karjusin. 46 00:02:26,120 --> 00:02:30,340 Kui ma liikuda üles oma terminali aknas Ma vaatan seda esimest viga punane, 47 00:02:30,340 --> 00:02:33,120 kaudne deklaratsioon funktsiooni print nimi. 48 00:02:33,120 --> 00:02:34,220 >> Nüüd, mida see tähendab? 49 00:02:34,220 --> 00:02:37,190 Noh, kuigi ma olen rakendanud prindi nimi selle faili, ma ei 50 00:02:37,190 --> 00:02:40,080 rakendanud enne ma olen tarbinud peamine. 51 00:02:40,080 --> 00:02:43,160 Nüüd võiks minna tagasi vana versiooni ja panna print nime 52 00:02:43,160 --> 00:02:44,450 rakendamise üleval. 53 00:02:44,450 --> 00:02:48,730 >> Aga ma ei saa mitte ainult anda C vihje et seal on funktsioon tulla. 54 00:02:48,730 --> 00:02:55,390 Nimelt eespool peamine võin tunnistada prindi nimi täpselt nagu minagi varem, kuid 55 00:02:55,390 --> 00:02:59,450 lõpetamiseks kooskõlas semikoolon, mis lubades rakendada, kuid ei ole veel 56 00:02:59,450 --> 00:03:02,180 tegelikult rakendatakse funktsioon nimetatakse print nimi. 57 00:03:02,180 --> 00:03:05,860 Võin siis on peamine ülaosas minu faili nagu ma lootsin, ja ma ei saa tegelikult 58 00:03:05,860 --> 00:03:07,440 rakendada print nimi allosas. 59 00:03:07,440 --> 00:03:12,860 >> Kui ma nüüd tagasi oma terminali aknas ja kompileeri funktsioon nulli mark, 60 00:03:12,860 --> 00:03:14,390 Seekord ta koostab. 61 00:03:14,390 --> 00:03:18,240 Ja kui ma saan seda dot kaldkriipsuga funktsioon null pakkuda minu nimi, ma olen 62 00:03:18,240 --> 00:03:20,650 tervitatud nagu "Tere, David." 63 00:03:20,650 --> 00:03:22,268