SPEAKER 1: Tāpēc es jūtu, ka man ir tendence rakstīt printf hello world vai printf sveiki procenti s diezgan bieži kontekstos kur es vēlos, lai izdrukātu string, dažreiz lūdzot lietotājs daļa no šīs virknes. Nu, tas nebūtu jauki, ja mēs izveidojām funkcija mūsu pašu sauc, saka, atšifrējums, kura mērķis dzīvē ir vienkārši izdrukāt sveiki komats tik-un-tā, pieņemot tāds un tā kā arguments, lai šo funkciju? Mēs varam atzīt funkciju mūsu pašu tāpat kā mēs varam nulles šādi. Citiem vārdiem sakot, domāju, ka es gribētu printf savu vārdu un pēc tam pieprasīt no lietotāja par viņa vai viņas vārdu ar auklu s vienāds GetString. Un tad es gribu, lai izsauktu funkciju sauc atšifrējums izejot s kā tās ieguldījumu. Tagad diemžēl nav funkcija sauc atšifrējums C vai CS50 bibliotēka. Bet vienalga, jo mēs var padarīt to paši. Atzīt funkciju mūsu pašu un tad to īstenot, mēs varam vienkārši izdarīt dažas vietas šajā lietā un paziņo, šī funkcija šādi, spēkā neesošu - kas norāda, ka funkcija nav faktiski gatavojas atgriezties kaut ko, pat ja tas būs blakusparādība - drukāt vārdu, un tad pieņemsim precizēt iekavās ka atšifrējums sagaida arguments tipa virkni. Un vispār, mēs domāju, ka no tā kā nosaukumu. Un pieņemsim, atvērt mūsu lencēm un slēgt mūsu lencēm. Un tad printf iekšā sveiki komats procenti s Jaunā līnija komatu nosaukums. Citiem vārdiem, kaut gan šī funkcija ir tikai viena līnija kodu, tas tas tagad ir kāds augstāks līmeņa mērķis drukāt kāds vārds ar sveicienu. Tagad iekšpusē galvenais, ievērosiet, ka es esmu zvanot atšifrējums, izejot s. Un tāpēc man šķiet, tagad ir pilnīga programma. Vienīgā atšķirība ir no citiem Mēs esam rakstiski ir tas, ka ne tikai tas, šī programma ir galvenais, tas arī ir deklarāciju un īstenošana atšifrējums, funkcija mana. Pieņemsim tagad sastādīt savu programmu ar marka funkcija nulle, un palaist to ar punktu slash funkciju nulles. Kad tiek piedāvāts par manu vārdu Es tipa Dāvidu. Un es tiešām esmu sveicināja ar "Hello, David." Tagad, izrādās, es ļoti apzināti pasludināja atšifrējums iepriekš galvenais, tādējādi stāsta C iepriekš, ka pastāv funkciju sauc print nosaukt tā, ka es varētu izmantot tas vēlāk galvenais. Tagad, tad es tā vietā likt atšifrējums pie apakšā manu failu, jo atklāti sakot, es iespējams, tas būtu jādara, ka galvenie atliekas Pirmā lieta, ko es vai cits lietotājs redz manu kodu, izrādās, ka mans kods ir nav gatavojas sastādīt. Īpaši, ja es dodos atpakaļ uz manu termināla logu un palaist veikt funkcijas nulle tagad ievēroju, ka es esmu kliedza uz. Ja es ritinātu manā termināļa logā, Es redzēt šo pirmo kļūdu sarkanā krāsā, netieši deklarācija funkciju atšifrējums. Tagad, ko tas nozīmē? Nu, kaut arī es esmu īstenojusi print vārdu šajā failā, es esmu ne īstenoja to pirms es esmu to izmanto galvenokārt. Tagad mēs varētu iet atpakaļ uz veco versija un nodot atšifrējums ir īstenošana up top. Bet es varu, nevis tikai dot C mājienu ka tur ir funkcija nākt. Konkrētāk, iepriekš galvenais varu paziņot, print vārdu tāpat kā es darīju agrāk, bet pārtrauktu līniju ar semikolu, tādējādi solot īstenot, bet vēl nav faktiski īstenojot funkciju sauc atšifrējums. Tad es varētu būt galvenais augšpusē manu failu, kā es cerēju, un es faktiski var īstenot atšifrējums apakšā. Ja es tagad atgriežas pie sava termināļa loga un recompile funkciju nulles ar marku, šoreiz tas apkopo. Un, ja man palaist to ar dot slash funkciju nulle nodrošinot manu vārdu, es esmu apsveica kā "Sveiki, David."