Forskellen Mellem Funktionsprototype Og Funktionsdefinition I C

Indholdsfortegnelse:

Forskellen Mellem Funktionsprototype Og Funktionsdefinition I C
Forskellen Mellem Funktionsprototype Og Funktionsdefinition I C

Video: Forskellen Mellem Funktionsprototype Og Funktionsdefinition I C

Video: Forskellen Mellem Funktionsprototype Og Funktionsdefinition I C
Video: PEP 457 -- Notation For Positional-Only Parameters (CC Available) 2024, Kan
Anonim

Nøgleforskel - Funktionsprototype vs Funktionsdefinition i C

En funktion er en gruppe udsagn, der bruges til at udføre en bestemt opgave. I C-programmering starter udførelsen fra main (). Det er en funktion. I stedet for at skrive alle udsagn i det samme program, kan det opdeles i flere funktioner. Hver funktion udfører forskellige funktioner. Funktionsprototypen fortæller compileren om funktionsnavnet, returtyperne og parametrene. Det er også kendt som en funktionserklæring. Hver funktion har et bestemt navn til at identificere den. Funktionens udsagn er skrevet inde i et par krøllede seler. Funktionerne kan returnere en værdi. Der er nogle funktioner, der ikke returnerer en værdi. Dataene overføres til funktionen ved hjælp af parameterlisten. Funktionsdefinitionen har den faktiske funktionalitet, der udføres af funktionen. I C-programmering er der funktionsprototype og funktionsdefinition. Nøgleforskellen mellem funktionsprototypen og funktionsdefinitionen er, at funktionsprototypen kun indeholder erklæringen om funktionen, mens funktionsdefinitionen indeholder den faktiske implementering af funktionen. Funktionsdefinitionen har de lokale variabler og udsagnene, der bestemmer, hvad funktionen gør.

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er funktionsprototype i C

3. Hvad er funktionsdefinition i C

4. Ligheder mellem funktionsprototype og funktionsdefinition i C

5. Sammenligning side om side - Funktionsprototype vs funktionsdefinition i C i tabelform

6. Resume

Hvad er funktionsprototype i C?

Funktion Prototype giver funktionserklæringen. Den specificerer funktionens navn, returtyperne og parametrene. Returtyperne er den datatype, der vender tilbage fra funktionen. Når en funktion returnerer et heltal, er returtypen int. Når en funktion returnerer en floatværdi, er returneringstypen en float. Hvis funktionen ikke returnerer nogen værdi, er den en ugyldig funktion. Funktionsnavnet bruges til at identificere det. C-nøgleord kan ikke bruges som funktionsnavne. Dataene overføres til funktionen ved hjælp af parametre. Funktionsprototypen indeholder ikke den reelle implementering af funktionen. Funktionsprototypen har følgende syntaks.

(parameterliste);

Hvis der er en funktion til at beregne det maksimale på to tal, kan erklæringen skrives som int max (int num1, int num2); Den maksimale værdi skal findes i num1 og num2. Disse er heltal, og de overføres til funktionen. Returtypen er i starten også int. Så funktionen returnerer en heltalværdi. Det er ikke nødvendigt at skrive parameternavne i funktionsprototypen. Men det er nødvendigt at skrive datatyperne. Derfor int max (int, int); er også en gyldig funktionsprototype. Hvis der er to heltal som num1, num2, num3, og prototypen skrives som int max (int num1, int num2, num3); det er ugyldigt. Num1, num2 har datatyperne, men num3 har ikke en datatype. Derfor er den ugyldig.

Forskellen mellem funktionsprototype og funktionsdefinition i C
Forskellen mellem funktionsprototype og funktionsdefinition i C

Se nedenstående program.

#omfatte

int CarMax (int x, int y);

int main () {

int p = 10;

int q = 20;

int svar;

svar = calMax (p, q);

printf ("Den maksimale værdi er% d / n", svar);

returnere 0;

}

int calMax (int p, int q) {

int værdi;

hvis (p> q) {

værdi = p;

}

andet {

værdi = q;

}

returværdi

}

I henhold til ovenstående viser den anden erklæring funktionsprototypen. Det har ikke implementeringen. Den faktiske implementering er efter hovedprogrammet. Funktionens prototyper er mere nyttige, når man definerer en funktion i en kildefil og kalder den funktion i en anden i en anden fil.

Hvad er funktionsdefinition i C?

Funktionsdefinitionen har den faktiske implementering af funktionen. Den indeholder, hvad funktionen skal gøre. Når programmet kalder funktionen, overføres kontrollen til den kaldte funktion. Efter udførelsen af funktionen vender kontrollen tilbage til hovedfunktionen. De krævede data videregives til funktionen som en parameterliste. Hvis der er en værdi, der returnerer, nævnes returtypen. Hvis der ikke er nogen returværdier, er returtypen ugyldig. Se nedenstående funktion for at beregne arealet af en trekant.

#omfatte

float calArea (int x, int y);

int main () {

int p = 10;

int q = 20;

flaot-område

areal = calArea (p, q);

printf ("Den maksimale værdi er% f / n", område);

returnere 0;

}

float calArea (int x, int y) {

float værdi

værdi = 0,5 * x * y;

returværdi

}

I henhold til ovenstående program angiver den anden erklæring funktionsprototypen. Den faktiske implementering af, hvad funktionen udfører, er skrevet efter hovedprogrammet. Det er funktionsdefinitionen. P- og q-værdierne overføres til calArea-funktionen. Variabelværdien er en lokal variabel til calArea-funktionen. Området beregnes og tildeles den variable værdi. Derefter returneres det til hovedprogrammet.

Hvad er ligheden mellem funktionsprototype og funktionsdefinition i C?

  • Både funktionsprototype og funktionsdefinition er relateret til funktioner.
  • Både funktionsprototype og funktionsdefinition indeholder funktionsnavn.
  • Både funktionsprototype og funktionsdefinition indeholder returtyper.
  • Både funktionsprototype og funktionsdefinition indeholder parametre.

Hvad er forskellen mellem funktionsprototype og funktionsdefinition i C?

Diff artikel midt foran bordet

Funktion Prototype vs Funktionsdefinition i C

Funktionsprototypen specificerer funktionsnavnet, returtypen, parametrene, men udelader funktionselementet. Funktionsdefinitionen specificerer funktionsnavnet, returtypen; parametre inkluderer et funktionsorgan.
Implementering
Funktionsprototypen har ikke funktionen implementering. Funktionsdefinitionen har funktionens implementering.

Resumé - Funktionsprototype vs Funktionsdefinition i C

Brug af funktioner i programmer har fordele. Funktioner øger genanvendelighed af kode. Det er ikke nødvendigt at skrive den samme kode igen og igen. I stedet kan programmøren opdele programmet og kalde den nødvendige funktion. I C er der biblioteksfunktioner. Disse funktioner erklæres i C-header-filerne. Nogle af dem er printf (), scanf () osv. Programmøren kan også skrive deres egne funktioner. Der er to udtryk, der er forbundet med funktioner i C. De fungerer prototype og funktionsdefinition. Forskellen mellem funktionsprototypen og funktionsdefinitionen i C er, at funktionsprototypen kun indeholder erklæringen om funktionen, mens funktionsdefinitionen indeholder den faktiske implementering af funktionen.

Download PDF'en af funktionsprototype vs funktionsdefinition i C

Du kan downloade PDF-versionen af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-versionen her: Forskellen mellem funktionsprototype og funktionsdefinition i C

Anbefalet: