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: Introduction to limits | Limits | Differential Calculus | Khan Academy 2024, November
Anonim

Nøgleforskel – funktionsprototype vs funktionsdefinition i C

En funktion er en gruppe af udsagn, der bruges til at udføre en specifik 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 vil udføre forskellige funktioner. Funktionsprototypen fortæller compileren om funktionsnavnet, returtyper og parametre. Det er også kendt som en funktionserklæring. Hver funktion har et bestemt navn for at identificere den. Funktionsudsagn 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, som funktionen udfører. I C-programmering er der funktionsprototype og funktionsdefinition. Den vigtigste forskel mellem funktionsprototypen og funktionsdefinitionen er, at funktionsprototypen kun indeholder erklæringen af funktionen, mens funktionsdefinitionen indeholder den faktiske implementering af funktionen. Funktionsdefinitionen har de lokale variable og de udsagn, der bestemmer, hvad funktionen gør.

Hvad er funktionsprototype i C?

Funktionsprototype giver funktionserklæringen. Den specificerer navnet på funktionen, returtyperne, parametrene. Returtyperne er den datatype, der returnerer fra funktionen. Når en funktion returnerer et heltal, så er returtypen int. Når en funktion returnerer en flydende værdi, så er returtypen en flydende. Hvis funktionen ikke returnerer nogen værdi, er det en ugyldig funktion. Funktionsnavnet bruges til at identificere den. C nøgleord kan ikke bruges som funktionsnavne. Dataene sendes 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 maksimum af to tal, kan deklarationen skrives som int max (int num1, int num2); Den maksimale værdi skal findes i num1 og num2. Det er heltal, og de overføres til funktionen. Returtypen er i begyndelsen også int. Så funktionen returnerer en heltalsværdi. Det er ikke nødvendigt at skrive parameternavnene 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); den er ugyldig.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.

include

int CarMax(int x, int y);

int main(){

int p=10;

int q=20;

int svar;

svar=calMax(p, q);

printf(“Maksimumværdien er %d\n”, svar);

retur 0;

}

int calMax(int p, int q){

int-værdi;

if(p>q) {

value=p;

}

else {

value=q;

}

returværdi;

}

I henhold til ovenstående viser den anden sætning funktionsprototypen. Det har ikke implementeringen. Selve implementeringen er efter hovedprogrammet. Funktionsprototyperne er mere nyttige, når man definerer en funktion i én 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 styringen til den kaldte funktion. Efter udførelse af funktionen vender styringen tilbage til hovedfunktionen. De nødvendige data overføres til funktionen som en parameterliste. Hvis der er en værdi, der returnerer, så er returtypen nævnt. Hvis der ikke er nogen returnerende værdier, er returtypen ugyldig. Se nedenstående funktion for at beregne arealet af en trekant.

include

float calArea(int x, int y);

int main () {

int p=10;

int q=20;

flaot area;

area=calArea(p, q);

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

retur 0;

}

float calArea (int x, int y) {

float-værdi;

værdi=0,5xy;

returværdi;

}

I henhold til ovenstående program angiver den anden sætning funktionsprototypen. Selve implementeringen af, hvad funktionen udfører, skrives efter hovedprogrammet. Det er funktionsdefinitionen. Værdierne p og q sendes til calArea-funktionen. Variabelværdien er en lokal variabel til calArea-funktionen. Arealet beregnes og tildeles variabelværdien. Derefter returneres det tilbage til hovedprogrammet.

Hvad er lighederne 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?

Funktionsprototype vs funktionsdefinition i C

Funktionsprototypen specificerer funktionsnavn, returtype, parametre, men udelader funktionslegemet. Funktionsdefinitionen specificerer funktionsnavnet, returtypen; parametre inkluderer en funktionstekst.
Implementering
Funktionsprototypen har ikke funktionsimplementeringen. Funktionsdefinitionen har funktionsimplementeringen.

Opsummering – Funktionsprototype vs funktionsdefinition i C

Brug af funktioner i programmer har fordele. Funktioner øger kodegenanvendelighed. 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 er deklareret 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 som prototype og funktionsdefinition. Forskellen mellem funktionsprototypen og funktionsdefinitionen i C er, at funktionsprototypen kun indeholder erklæringen af 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 offline-formål i henhold til citatnotat. Download venligst PDF-versionen her: Forskellen mellem funktionsprototype og funktionsdefinition i C

Anbefalede: