ЗВУЧНИК 1: Па јас се чувствувам како да сум имаат тенденција да пишува printf Здраво светот или printf Здраво проценти на доста често во контексти каде што сакате да го испечатите стринг, понекогаш бара од корисникот дел од стрингот. Па, не би било убаво ако ние направивме функција на нашите сопствени нарекува, велат, име на печатење, чија цел во животот е едноставно да се печати Здраво запирка тој-и-толку со прифаќање на тоа-и-тој како аргумент за таа функција? Ние може да прогласи функција на нашите сопствени исто како што можеме во Скреч како што следи. Со други зборови, да претпоставиме Би сакал да printf вашето име, а потоа побара од корисникот за неговото или нејзиното име со низа Кликнете ОК еднаква GetString. И тогаш сакам да се јавите на функција наречен име печатење полагање на како свој придонес. Сега за жал, не постои функција наречен име печати во C или во на cs50 библиотека. Но, без оглед, затоа што ние може да го направи себе. Да се ​​изјасни за функција на нашите сопствени и тогаш се имплементира, ние едноставно може да направи некои простор во оваа датотека и да прогласат оваа функција како што следува, неважечки - означува дека функцијата не е всушност, се случува да се врати нешто, иако тоа ќе има пропратен ефект - печати името, а потоа нека се определи во заграда дека името печати очекува аргумент од типот стринг. И воопшто, ќе мислат на тоа како име. И ајде да отвориме нашите заграда и затворете нашата голема заграда. А потоа printf внатре здраво запирка проценти на новото име на линија запирка. Со други зборови, иако ова функција е само една линија на кодот, тоа не сега имаат некои повисоки ниво цел да се печати нечие име со поздрав. Сега во внатрешноста на главниот, забележите дека јас сум повикувајќи име печатење со пропуштање на коментарите. И така јас се чини дека сега да имаат комплетна програма. Единствената разлика е од другите ние сум напишал е дека не само што оваа програма се главни, тој исто така има декларација и имплементација на име на печатење, функција на моето. Ајде сега ги собере мојата програма со марка функција нула, и да ја стартувате со точка сека функција нула. Кога ќе биде побарано за моето име Јас ќе тип во Давид. И јас навистина сум пречекан со "Здраво, Дејвид." Сега, излегува јас многу намерно прогласена име печати над главната, тоа кажува C однапред дека постои постои функција наречена печатење име, така што можам да ги искористам подоцна во главниот. Сега, ако јас наместо стави името на печатење на дното на моето досие, како искрено јас веројатно ќе треба да го стори тоа што главните остатоци првото нешто што јас или друг корисник гледа во мојот код, излегува дека мојот код е нема да се компајлира. Поточно, ако одам се враќам на терминален прозорец и да ја стартувате направи функција нула сега, забележите дека јас сум му викал на. Ако јас дојдете во мојот терминален прозорец, Ќе видам оваа прва грешка во црвена, имплицитна изјава на име на функција на печатење. Сега, она што значи тоа? Добро, иако сум спроведува печати име во оваа датотека, јас не сум спроведува тоа пред јас сум користи тоа во главната. Сега, ние би можеле да се вратиме на старите верзија и се стави името на печатење е имплементација до врвот. Но, можам да наместо само да се даде Ц навестување дека има функција да дојде. Поточно, над главниот можам да се изјасни печати името, на само како што го направив порано, но се стави крај на линија со точка-запирка, а со тоа ветувајќи дека ќе се имплементираат, но се уште не всушност спроведување на функција наречен име печатење. Тогаш јас може да има главна на врвот на мојата поднесе како што се надеваа, и не можам да всушност спроведување име печатење на дното. Ако јас сега се вратам на моето терминален прозорец и прекомпајлирате функција нула со направи, овој пат тоа компајлира. И ако ја стартувате со точка црта функција нула обезбедување мое име, Јас сум поздрави како "Здраво, Дејвид."