Video: Strukturerad prog Flöde till program 2024
I C-programmering är alla funktioner dubbade med ett namn som måste vara unikt; inga två funktioner kan ha samma namn, inte heller kan en funktion ha samma namn som ett nyckelord.
Namnet följs av parenteser, som därefter följs av en uppsättning krullningsfästen. Så vid dess enklaste konstruktion ser en funktion så här ut:
typfunktion () {}
I föregående rad definierar typ värdet som returneras eller genereras av en funktion. Alternativ för typ inkluderar alla standardvariabler C-variabler - char, int, float, double - och även tom för billiga funktioner som inte returnerar någonting.
funktionen är funktionens namn. Det följs av ett par parenteser, som valfritt kan innehålla värden som överförs till funktionen. Dessa värden heter argument . Inte alla funktioner har argument. Då kommer de krökta parenteserna och alla uttalanden som hjälper funktionen gör sin sak.
Funktioner som returnerar ett värde måste använda returordet. Retureringen avslutar antingen funktionen direkt eller skickar ett värde tillbaka till det uttalande som kallat funktionen. Till exempel:
avkastning;
Detta uttalande avslutar en funktion och överför inte ett värde. Eventuella uttalanden i funktionen efter avkastning ignoreras.
avkastning ( något );
Detta uttalande överför värdet av något -variabeln till det uttalande som kallade funktionen. något måste vara av samma variabel typ som funktionen, en int, float och så vidare.
Funktioner som inte returnerar värden deklareras av tomrumstypen. Dessa funktioner slutar med det sista uttalandet som hölls i de krökta hakarna; ett returformulär är inte nödvändigt.
En viktigare sak! Funktioner måste vara prototyperade i din kod. Det är så att kompilatorn förstår funktionen och ser till att du använder den ordentligt. Prototypen beskriver det returnerade värdet och eventuella värden som skickas till funktionen. Prototypen kan visas som ett uttalande längst upp i källkoden. Grundläggande funktion; Ingen retur visar ett exempel på rad 3.
GRUNDFUNKTION; INGA RETUR
#include void prompt (); / * funktion prototyp * / int main () {int loop; char ingång [32]; slinga = 0; medan (loop ");}
Motion 1: Använd källkoden från Basic Function, No Return för att skapa ett nytt projekt, ex1001. Bygg och kör.
Programmet visar en snabb fem gånger, så att du kan skriva olika kommandon. Det händer självklart inget när du skriver, men du kan programmera senare senare om du vill.Så här fungerar det här programmet när det gäller att skapa en funktion:
Rad 3 visar funktionsprototypen. Det är i huvudsak en kopia av funktionens första rad (från rad 22), men slutar med en semikolon. Det kan också skrivas så här:
void prompt (void);
Eftersom funktionen inte kräver några argument (föremålen inom parentes) kan du också använda tomgångsordet.
Linje 13 öppnar funktionen. Funktionen kallas som sitt eget uttalande. Det kräver inga argument eller returnerar några värden, och det visas på en rad i sig, som visas i Listan. När programmet stöter på det uttalandet hoppar programkörningen upp till funktionen. Funktionens uttalanden utförs, och sedan återgår till nästa rad i koden efter att funktionen har ringts.
Linjerna 22 till 25 definierar själva funktionen. Funktionstypen anges på rad 22 följt av funktionsnamnet och sedan parenteserna. Precis som med prototypen kan du ange tomrum i parentes eftersom inget argument skickas till funktionen.
Funktionens enda uttalande hålls mellan krökningsfästen. Funktionen prompt () utlämnar bara en prompten genom att använda funktionen printf (), vilket tycks som att funktionen inte är nödvändig, men många exempel på enradiga funktioner finns i många program.
Motion 2 : Ändra källkoden från Basic Function; Ingen retur så att öglan slingan visas i sin egen funktion. (Kopiera linjerna 7 till 16 till en ny funktion.) Namn den funktionen upptagen () och har huvudfunktionen () funktionen kalla den.
-
C har ingen gräns för vad du kan göra i en funktion. Alla uttalanden du kan göra saker i huvudfunktionen () kan gå in i någon funktion. Ja, huvud () är helt enkelt en annan funktion i ditt program, om än programmets huvudfunktion.
-
När du förklarar en int eller char-funktionstyp kan du också ange signerade, usignerade, långa och korta, beroende på vad som är lämpligt.
-
Funktionen main () har argumenter, varför inte frestas att redigera sina tomma parentes och hålla ordet tomt där inne. Med andra ord är denna konstruktion fel:
int main (void)
Huvudfunktionen () i C har två argument. Det är möjligt att undvika att lista dem när du inte kommer använda dem, genom att hålla parenteserna tomma.
-
Andra programmeringsspråk kan referera till en funktion som en subrutin eller procedur .