SIARADWR 1: Felly, yr wyf yn teimlo fy mod yn tueddu i ysgrifennu printf helo byd, neu printf helo cant s yn aml mewn cyd-destunau lle yr wyf yn awyddus i argraffu llinyn, weithiau yn gofyn i'r defnyddiwr rhan o'r llinyn. Wel, ni fyddai'n braf pe byddwn yn creu swyddogaeth ein hunain o'r enw, yn dweud enw print, y mae ei bwrpas mewn bywyd yn syml i argraffu helo coma fel-a-felly drwy dderbyn yr hyn-a-felly fel dadl â'r swyddogaeth honno? Gallwn ddatgan swyddogaeth ein hunain yn union fel y gallwn yn Scratch fel a ganlyn. Mewn geiriau eraill, mae'n debyg Hoffwn i printf eich enw ac yna gofyn i'r defnyddiwr am ei enw gyda llinyn s yn hafal i GetString. Ac yna yr wyf am ei alw swyddogaeth a elwir yn enw print pasio s fel ei mewnbwn. Nawr yn anffodus, nid oes unrhyw swyddogaeth a elwir yn enw print yn C neu mewn y llyfrgell CS50. Ond ni waeth, oherwydd ein bod yn yn gallu gwneud ein hunain. I ddatgan swyddogaeth ein hunain a Yna, ar waith, gallwn yn syml yn gwneud rhywfaint o le yn y ffeil hon ac yn datgan swyddogaeth hon fel a ganlyn, yn ddi-rym - arwyddo nad yw'r swyddogaeth yn mewn gwirionedd yn mynd i ddychwelyd rhywbeth, hyd yn oed er y bydd yn cael yn sgîl-effaith - Printiwch eich enw, ac yna gadewch i ni bennu yn cromfachau enw print yn disgwyl i dadl o'r math llinyn. Ac yn gyffredinol, byddwn yn meddwl o hynny fel enw. A gadewch i ni agor ein brês a chau ein brês. Ac yna printf y tu mewn helo coma y cant enw coma llinell newydd. Mewn geiriau eraill, er bod hyn swyddogaeth dim ond un llinell o god, mae'n Nid awr yn cael rhywfaint o uwch pwrpas lefel print enw rhywun gyda chyfarchiad. Bellach y tu mewn o brif, yn sylwi fy mod yn galw enw print drwy lwyddo mewn s. Ac felly yr wyf yn ymddangos yn awr i gael rhaglen gyflawn. Yr unig wahaniaeth yw gan eraill rydym wedi ysgrifennu yw nad yn unig y mae rhaglen hon wedi brif, mae ganddo hefyd datganiad a gweithredu enw print, rhaid i swyddogaeth o fy mhen fy hun. Gadewch i ni yn awr yn llunio fy rhaglen gyda gwneud swyddogaeth sero, ac yn rhedeg gyda dot slaes swyddogaeth sero. Pan ofynnir am fy enw 'N annhymerus' teipiwch David. Ac yr wyf yn wir wedi fy nghyfarch gyda "Helo, David." Nawr, mae'n troi allan i mi fwriadol iawn datgan enw print uwchben prif, a thrwy hynny yn dweud C o flaen llaw bod bodoli swyddogaeth o'r enw print enw er mwyn i mi ddefnyddio hwyrach yn y prif. Yn awr, wedi i mi yn lle hynny yn rhoi enw print yn waelod fy ffeil, fel yr wyf yn dweud y gwir Mae'n debyg y dylai wneud hynny mai prif olion y peth cyntaf i mi neu defnyddiwr arall yn gweld yn fy cod, mae'n troi allan bod fy cod yw ddim yn mynd i lunio. Yn benodol, os byddaf yn mynd yn ôl at fy ffenestri a rhedeg derfynell yn gwneud swyddogaeth sero yn awr, yn sylwi fy mod i'n yelled ar. Os byddaf yn sgrolio i fyny yn fy ffenestr terfynell, 'N annhymerus' gweld hyn camgymeriad cyntaf mewn coch, datganiad ymhlyg o swyddogaeth enw print. Nawr, beth mae hynny'n ei olygu? Wel, hyd yn oed er fy mod i wedi rhoi ar waith Printiwch eich enw yn y ffeil hon, nid wyf i wedi rhoi ar waith cyn i mi i wedi ei ddefnyddio yn y brif. Nawr, gallem fynd yn ôl i'r hen fersiwn ac enw'r print rhoi yn top gweithredu i fyny. Ond gallaf yn lle dim ond rhoi awgrym C fod yna swyddogaeth i ddod. Yn benodol, uwchben prif gallaf ddatgan Printiwch eich enw yn union fel y gwneuthum yn gynharach, ond terfyn ar y llinell gyda hanner colon, a thrwy hynny addo i weithredu, ond nad ydynt eto mewn gwirionedd yn gweithredu'r swyddogaeth a elwir yn enw print. Yna gallaf gael prif ar ben fy ffeil gan fy mod yn gobeithio, ac yr wyf yn gallu mewn gwirionedd gweithredu enw'r print ar y gwaelod. Os wyf yn awr yn dychwelyd i fy ffenestr terfynell ac yn ail-grynhoi swyddogaeth sero gyda gwneuthuriad, y tro hwn mae'n casglu. Ac os byddaf yn rhedeg gyda swyddogaeth slaes dot sero yn darparu fy enw, rwy'n gyfarch fel "Helo, David."