>> HÖGTALARE 1: Så jag känner att jag har en tendens att skriver printf hallå världen eller printf
hej procent är ganska ofta i sammanhang där jag vill skriva ut en
sträng, ibland be användardelen av den strängen.
Tja, skulle det inte vara trevligt om vi skapade en funktion av vår egen som heter,
säga, skriv ut namn, vars syfte i livet är helt enkelt att skriva ut hej kommatecken
så-och-så genom att acceptera den så-och-så som ett argument till funktionen?
Vi kan deklarera en funktion av vår egen precis som vi kan i Scratch enligt följande.
>> Med andra ord, antar att jag skulle vilja printf ditt namn och sedan be användaren
för hans eller hennes namn med snöre n är lika med GetString.
Och då vill jag ringa en funktion kallas utskriftsnamn
passerar ett s som dess ingång.
>> Nu tyvärr, det finns ingen funktion kallas utskriftsnamn i C eller i
den CS50 biblioteket.
Men oavsett, eftersom vi kan göra det själva.
För att deklarera en funktion av vår egen och sedan genomföra det, kan vi helt enkelt göra
visst utrymme i denna fil och förklara funktionen enligt följande, tomrum -
som innebär att funktionen inte är faktiskt kommer att gå tillbaka något,
även om det kommer att ha en bieffekt -
skriva ut namn, och sedan ska vi anger i parenteser att skriva ut namn förväntar sig en
argument av typen sträng.
Och i allmänhet, vi tror av det som ett namn.
>> Och låt oss öppna våra stag och stänga våra stag.
Och sedan printf inne hej kommatecken procent nya linje kommatecken namn.
Med andra ord, även om detta Funktionen finns bara en rad kod, det
gör nu har lite högre nivå syfte att skriva ut
någons namn med en hälsning.
>> Nu inne i huvud, märker att jag är ringer print namn genom att en s.
Och så jag verkar nu ha ett komplett program.
Den enda skillnaden från andra Vi har skrivit är att det inte bara gör
detta program har stora, den har också en deklaration och genomförande av
utskriftsnamn, en funktion av mina egna.
>> Låt oss nu kompilera mitt program med smink funktion noll, och kör den med prick
slash funktion noll.
När du uppmanas att mitt namn Jag ska skriva in David.
Och jag verkligen är hälsade med "Hej, David."
>> Nu visar det sig jag mycket medvetet förklarade utskriftsnamnet ovan huvud,
därigenom berättar C i förväg att det finns en funktion som kallas print
namn så att jag kunde använda det senare i main.
Nu hade jag istället lagt utskriftsnamnet på ner i min fil, som ärligt talat jag
förmodligen bör göra så att huvudlämningar det första som jag eller
annan användare ser i min kod, det visar sig att min kod är
inte går att kompilera.
>> Speciellt om jag går tillbaka till min terminalfönster och kör gör funktion
noll nu, märker att jag skrek åt.
Om jag rulla upp i mitt terminalfönster, Jag ser detta första fel i rött,
implicit deklaration av funktionsutskriftsnamn.
>> Nu, vad betyder det?
Tja, även om jag har genomfört skriva ut namn på filen, jag har inte
genomfört det innan jag har använde den i huvud.
Nu, vi skulle kunna gå tillbaka till det gamla version och sätta tryck namns
genomförande upp överst.
>> Men jag kan i stället bara ge C en ledtråd att det finns en funktion för att komma.
Specifikt ovanför huvud jag kan förklara skriva ut namn precis som jag gjorde tidigare, men
avsluta raden med ett semikolon, och därigenom lovar att genomföra, men ändå inte
faktiskt genomförande av funktionen kallas utskriftsnamn.
Jag kan då ha huvud högst upp på min fil som jag hoppades, och jag kan faktiskt
implementera utskriftsnamnet längst ner.
>> Om jag nu återgå till mitt terminalfönster och kompilera funktion noll med smink,
den här gången sammanställer.
Och om jag kör det med punkt snedstreck funktion noll ger mitt namn, jag är
hälsades som "Hej, David."