SPEAKER 1: So I jħossu bħal I-tendenza li jiktbu printf bonjour dinja jew printf bonjour fil-mija s spiss fil-kuntesti fejn nixtieq li jistampa spag, xi kultant titlob lill- parti utent ta 'dak string. Ukoll, ma kienx ikun sbieħ jekk ħloqna funzjoni ta 'tagħna stess imsejħa, jgħidu, l-isem istampar, li l-iskop fil-ħajja huwa sempliċiment li jistampaw bonjour comma hekk u hekk billi aċċettat l-hekk u hekk ' bħala argument għal dik il-funzjoni? Nistgħu jiddikjaraw funzjoni ta 'tagħna stess eżatt kif nistgħu fil Scratch kif ġej. Fi kliem ieħor, ejja ngħidu li nixtieq printf isem tiegħek u mbagħad titlob lill-utent għall-isem tiegħu jew tagħha bil string i ugwali GetString. U mbagħad I tixtieq li sejħa funzjoni imsejħa isem print jgħaddu s bħala input tagħha. Issa sfortunatament, m'hemm l-ebda funzjoni imsejħa isem istampar fil C jew il-librerija cs50. Imma ma jimpurtax, għaliex aħna tista 'tagħmel dan lilna nfusna. Tiddikjara funzjoni ta 'tagħna stess u allura jimplimentawha, nistgħu sempliċiment tagħmel xi kamra f'dan il-fajl u tiddikjara din il-funzjoni kif ġej, vojt - li jfisser li l-funzjoni mhux fatt se jirritorna xi ħaġa, għalkemm hija ser ikollha effett sekondarju - jistampa l-isem, u mbagħad ejja jispeċifikaw fl parentesi dak l-isem print tistenna argument ta 'spag tip. U b'mod ġenerali, aħna ser taħseb ta 'dik bħala isem. U ejja tiftaħ Brace tagħna u qrib Brace tagħna. U mbagħad printf ġewwa bonjour comma mija isem ġdid linja comma. Fi kliem ieħor, anki jekk dan funzjoni huwa biss linja waħda tal-kodiċi, dan ma issa għandhom xi ogħla iskop livell biex print isem ta 'xi ħadd ma' greeting. Issa ġewwa ta 'prinċipali, avviż li jien ssejjaħ isem print billi jgħaddu minn s. U so I jidhru issa li jkollhom programm sħiħ. L-unika differenza tkun minn oħrajn konna bil-miktub huwa li mhux biss ma dan il-programm prinċipali, għandu wkoll dikjarazzjoni u l-implimentazzjoni ta ' isem print, funzjoni tiegħi stess. Ejja issa jikkompilaw programm tiegħi ma make funzjoni żero, u run ma 'dot mmejla funzjoni żero. Meta wasslu għall-isem tiegħi I ser tip fl David. And I am tabilħaqq milqugħ ma "Hello, David." Issa, jirriżulta I ħafna deliberatament Isem print ddikjarati hawn fuq ewlenija, b'hekk javżak C bil-quddiem li hemm teżisti funzjoni msejħa print isem hekk li I jistgħu jużaw aktar tard fil-prinċipali. Issa, kellhom I minflok tpoġġi l-isem istampar fuq il-qiegħ tal-fajl tiegħi, kif franchement I probabbilment għandhom jagħmlu dan li baqa prinċipali l-ewwel ħaġa li I jew utent ieħor jara fil-kodiċi tiegħi, jirriżulta li kodiċi tiegħi huwa mhux se jikkumpilaw. Speċifikament, jekk immur lura għall tiegħi tieqa terminal u run jagħmlu funzjoni zero issa, avviż li jien għajjat ​​fil. Jekk I iscroll up tieqa terminal tiegħi, I ser tara din l-ewwel żball aħmar, dikjarazzjoni impliċita ta ' Isem print funzjoni. Issa, xi jfisser? Ukoll, anke jekk stajt implimentati jistampa isem f'dan il-fajl, stajt ma implimentati qabel stajt użati fil-prinċipali. Issa, aħna tista 'tmur lura għall-pensjonijiet verżjoni u isem print tpoġġi implimentazzjoni top up. Imma I jistgħu minflok biss jagħtu C ħjiel li hemm funzjoni li ġejjin. Speċifikament, hawn prinċipali I tista 'tiddikjara jistampa insemmu biss kif għamilt qabel, iżda għan il-linja bil-virgola, u b'hekk promettenti biex timplimenta iżda li għadhom ma attwalment implimentazzjoni tal-funzjoni imsejħa isem print. I jista 'mbagħad ikollhom prinċipali fil-quċċata ta' tiegħi fajl kif I ttamat, u nista attwalment jimplimentaw isem print fil-qiegħ. Jekk I issa lura għall-tieqa terminal tiegħi u recompile funzjoni żero bil għamla, din id-darba jikkompila. U jekk I run b'funzjoni dot slash zero jipprovdu isem tiegħi, jien milqugħa bħala "Hello, David."