1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> GARSIAKALBIS 1: Taigi aš jaučiuosi kaip Aš linkęs rašyti printf hello world arba printf 3 00:00:04,010 --> 00:00:08,160 Apie procentų ai gana dažnai kontekstuose kur noriu spausdinti 4 00:00:08,160 --> 00:00:11,360 eilutė, kartais klausia vartotojo dalis šios eilutės. 5 00:00:11,360 --> 00:00:14,980 Na, ar nebūtų malonu, jei mes sukūrėme mūsų pačių funkcija vadinama, 6 00:00:14,980 --> 00:00:19,900 pasakyti, spausdinimo vardą, kurio gyvenimo tikslas tiesiog spausdinti Apie kablelį 7 00:00:19,900 --> 00:00:24,560 taip ir reikia priimti taip ir taip kaip tos funkcijos argumentas? 8 00:00:24,560 --> 00:00:29,220 Mes galime pripažinti mūsų pačių funkciją kaip mes galime į nulio taip. 9 00:00:29,220 --> 00:00:35,280 >> Kitaip tariant, manau, kad aš norėčiau printf savo vardą ir tada paprašyti, kad naudotojas 10 00:00:35,280 --> 00:00:39,470 už jo ar jos vardą su virvele ai Lygu GetString. 11 00:00:39,470 --> 00:00:42,060 Ir tada aš noriu skambinti funkcija vadinamas spausdinimo vardas 12 00:00:42,060 --> 00:00:44,340 Praėję s kaip savo indėlį. 13 00:00:44,340 --> 00:00:47,770 >> Dabar, deja, yra ne funkcija vadinamas spausdinimo pavadinimas C arba 14 00:00:47,770 --> 00:00:48,950 CS50 biblioteka. 15 00:00:48,950 --> 00:00:51,220 Bet nesvarbu, nes mes galite padaryti tai patys. 16 00:00:51,220 --> 00:00:54,560 Pripažinti mūsų pačių funkciją ir tada jį įgyvendinti, mes galime padaryti 17 00:00:54,560 --> 00:00:59,000 kai šioje byloje ir paskelbti kambarys Ši funkcija taip negaliojantis - 18 00:00:59,000 --> 00:01:01,900 reiškiantis, kad funkcija nėra iš tikrųjų ketina grįžti kažką, 19 00:01:01,900 --> 00:01:03,890 nors ji turės šalutinis poveikis - 20 00:01:03,890 --> 00:01:08,030 spausdinti pavadinimą, o tada tegul nurodyti skliausteliuose, kad vardas, pavardė spausdintinėmis tikisi 21 00:01:08,030 --> 00:01:09,680 argumentas tipo eilutę. 22 00:01:09,680 --> 00:01:12,180 Ir apskritai, mes galvoti to, kaip pavadinimas. 23 00:01:12,180 --> 00:01:15,140 >> Ir tegul atidaryti mūsų petnešomis ir uždarykite mūsų petnešomis. 24 00:01:15,140 --> 00:01:21,930 Ir tada printf viduje Apie kableliu Procentas ų naujoji linija kablelis pavadinimas. 25 00:01:21,930 --> 00:01:24,570 Kitaip tariant, nors tai funkcija yra tik viena eilutė kodo, tai 26 00:01:24,570 --> 00:01:27,290 ar dabar kai didesnis lygio tikslas spausdinti 27 00:01:27,290 --> 00:01:28,950 kažkieno vardas su sveikinimo. 28 00:01:28,950 --> 00:01:33,115 >> Dabar viduje pagrindinis, pastebėsite, kad aš skambinti spausdinimo vardą išlaikydami s. 29 00:01:33,115 --> 00:01:35,830 Ir taip man atrodo, dabar turi visa programa. 30 00:01:35,830 --> 00:01:38,650 Tik skirtumas tas, iš kitų mes parašiau, kad ne tik daro 31 00:01:38,650 --> 00:01:42,480 ši programa buvo pagrindinė, jis taip pat turi deklaracija ir įgyvendinimas 32 00:01:42,480 --> 00:01:44,740 vardas, pavardė spausdintinėmis, ir mano funkcija. 33 00:01:44,740 --> 00:01:49,505 >> Leiskite dabar sudaryti savo programą nurodant gamybinę markę funkcija lygi nuliui, ir paleisti jį su tašku 34 00:01:49,505 --> 00:01:51,080 velniop funkcija nulio. 35 00:01:51,080 --> 00:01:53,390 Kai būsite paraginti mano vardui Aš tipo Dovydą. 36 00:01:53,390 --> 00:01:55,830 Ir aš iš tikrųjų esu pasitiko su "Sveiki, Davidas." 37 00:01:55,830 --> 00:02:00,160 >> Dabar paaiškėja, kad aš labai sąmoningai paskelbė vardas, pavardė spausdintinėmis virš pagrindinis, 38 00:02:00,160 --> 00:02:03,860 taip sakau C iš anksto, kad egzistuoja funkcija vadinama spausdinti 39 00:02:03,860 --> 00:02:06,930 pavadinimas, kad galėčiau naudoti ji vėliau pagrindinis. 40 00:02:06,930 --> 00:02:11,610 Dabar jau aš, o ne įdėti spausdinimo vardą mano failo apačioje, kaip atvirai aš 41 00:02:11,610 --> 00:02:15,310 tikriausiai turėtų padaryti, kad pagrindiniai palaikus pirmas dalykas, kad aš arba 42 00:02:15,310 --> 00:02:18,450 kitas vartotojas mato mano kodas, Pasirodo, kad mano kodas yra 43 00:02:18,450 --> 00:02:19,780 nesiruošia sudaryti. 44 00:02:19,780 --> 00:02:23,610 >> Konkrečiai, jeigu aš grįžti į savo terminalo langą ir paleisti, kad funkcija 45 00:02:23,610 --> 00:02:26,120 nulis dabar, pastebėsite, kad aš sušuko. 46 00:02:26,120 --> 00:02:30,340 Jei aš slinkite aukštyn mano terminalo langą, Žiūrėsiu šį pirmąjį klaidą raudonai, 47 00:02:30,340 --> 00:02:33,120 numanoma deklaracija funkcija spausdinti pavadinimas. 48 00:02:33,120 --> 00:02:34,220 >> Dabar, ką tai reiškia? 49 00:02:34,220 --> 00:02:37,190 Na, nors aš įdiegėme spausdinti vardą šį failą, aš ne 50 00:02:37,190 --> 00:02:40,080 ją įgyvendino prieš aš jį naudojo pagrindinis. 51 00:02:40,080 --> 00:02:43,160 Dabar galime grįžti prie senosios versiją ir įdėti spausdinimo NAME 52 00:02:43,160 --> 00:02:44,450 įgyvendinimas iki viršaus. 53 00:02:44,450 --> 00:02:48,730 >> Bet aš, o gali tiesiog suteikti C užuominą kad yra funkcija ateiti. 54 00:02:48,730 --> 00:02:55,390 Tiksliau, virš pagrindinis galiu deklaruoti spausdinti vardą kaip aš anksčiau, bet 55 00:02:55,390 --> 00:02:59,450 baigti liniją su kabliataškiu, taip žada įgyvendinti, tačiau dar nėra 56 00:02:59,450 --> 00:03:02,180 faktiškai įgyvendinti šią funkciją vadinamas spausdinimo vardas. 57 00:03:02,180 --> 00:03:05,860 Galiu tada pagrindinis viršuje mano failą, kaip aš tikėjosi, ir aš iš tikrųjų gali 58 00:03:05,860 --> 00:03:07,440 įgyvendinti spausdinimo pavadinimą apačioje. 59 00:03:07,440 --> 00:03:12,860 >> Jei aš dabar grįžti į savo terminalo langą ir perkompiliuoti funkcija nulio nurodant gamybinę markę, 60 00:03:12,860 --> 00:03:14,390 šį kartą ji kaupia. 61 00:03:14,390 --> 00:03:18,240 Ir jei aš jį dot slash funkcija nulinės teikti savo vardą, aš 62 00:03:18,240 --> 00:03:20,650 sutiktas kaip "Labas, David. 63 00:03:20,650 --> 00:03:22,268