Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C

Innholdsfortegnelse:

Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C
Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C

Video: Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C

Video: Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C
Video: Function Declaration in C 2024, Desember
Anonim

Nøkkelforskjell – funksjonsprototype vs funksjonsdefinisjon i C

En funksjon er en gruppe setninger som brukes til å utføre en spesifikk oppgave. I C-programmering starter utførelsen fra hoved (). Det er en funksjon. I stedet for å skrive alle utsagn i samme program, kan det deles inn i flere funksjoner. Hver funksjon vil utføre forskjellige funksjoner. Funksjonsprototypen forteller kompilatoren om funksjonsnavnet, returtyper og parametere. Det er også kjent som en funksjonserklæring. Hver funksjon har et bestemt navn for å identifisere den. Funksjonssetningene er skrevet inne i et par krøllete bukseseler. Funksjonene kan returnere en verdi. Det er noen funksjoner som ikke returnerer en verdi. Dataene sendes til funksjonen ved hjelp av parameterlisten. Funksjonsdefinisjonen har den faktiske funksjonaliteten som utføres av funksjonen. I C-programmering er det funksjonsprototype og funksjonsdefinisjon. Den viktigste forskjellen mellom funksjonsprototypen og funksjonsdefinisjonen er at funksjonsprototypen bare inneholder erklæringen av funksjonen mens funksjonsdefinisjonen inneholder den faktiske implementeringen av funksjonen. Funksjonsdefinisjonen har de lokale variablene og setningene som bestemmer hva funksjonen gjør.

Hva er funksjonsprototype i C?

Function Prototype gir funksjonserklæringen. Den spesifiserer navnet på funksjonen, returtypene, parametrene. Returtypene er datatypen som returnerer fra funksjonen. Når en funksjon returnerer et heltall, er returtypen int. Når en funksjon returnerer en flytende verdi, er returtypen en flytende. Hvis funksjonen ikke returnerer noen verdi, er det en ugyldig funksjon. Funksjonsnavnet brukes til å identifisere det. C nøkkelord kan ikke brukes som funksjonsnavn. Dataene sendes til funksjonen ved hjelp av parametere. Funksjonsprototypen inneholder ikke den virkelige implementeringen av funksjonen. Funksjonsprototypen har følgende syntaks.

(parameterliste);

Hvis det er en funksjon for å beregne maksim alt to tall, kan deklarasjonen skrives som int max (int num1, int num2); Maksimalverdien skal finnes i num1 og num2. De er heltall, og de sendes til funksjonen. Returtypen, i begynnelsen, er også int. Så funksjonen returnerer en heltallsverdi. Det er ikke nødvendig å skrive parameternavnene i funksjonsprototypen. Men det er nødvendig å skrive datatypene. Derfor int max (int, int); er også en gyldig funksjonsprototype. Hvis det er to heltall som num1, num2, num3 og prototypen skrives som int max(int num1, int num2, num3); den er ugyldig.num1, num2 har datatypene, men num3 har ikke en datatype. Derfor er den ugyldig.

Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C
Forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C

Se programmet nedenfor.

include

int CarMax(int x, int y);

int main(){

int p=10;

int q=20;

int svar;

answer=calMax(p, q);

printf(“Maksimal verdi er %d\n”, svar);

retur 0;

}

int calMax(int p, int q){

int-verdi;

if(p>q) {

value=p;

}

else {

value=q;

}

returverdi;

}

I henhold til ovenstående viser den andre setningen funksjonsprototypen. Den har ikke gjennomføringen. Selve gjennomføringen er etter hovedprogrammet. Funksjonsprototypene er mer nyttige når du definerer en funksjon i en kildefil og kaller den funksjonen i en annen i en annen fil.

Hva er funksjonsdefinisjon i C?

Funksjonsdefinisjonen har selve implementeringen av funksjonen. Den inneholder hva funksjonen skal gjøre. Når programmet kaller opp funksjonen, overføres kontrollen til den k alte funksjonen. Etter utførelse av funksjonen går kontrollen tilbake til hovedfunksjonen. De nødvendige dataene sendes til funksjonen som en parameterliste. Hvis det er en verdi som returnerer, er returtypen nevnt. Hvis det ikke er noen returnerende verdier, er returtypen ugyldig. Se funksjonen nedenfor for å beregne arealet av en trekant.

include

float calArea(int x, int y);

int main () {

int p=10;

int q=20;

flaot area;

area=calArea(p, q);

printf ("Maksimal verdi er %f\n", område);

retur 0;

}

float calArea (int x, int y) {

float value;

value=0,5xy;

returverdi;

}

I følge programmet ovenfor indikerer den andre setningen funksjonsprototypen. Selve implementeringen av hva funksjonen utfører skrives etter hovedprogrammet. Det er funksjonsdefinisjonen. P- og q-verdiene sendes til calArea-funksjonen. Variabelverdien er en lokal variabel til calArea-funksjonen. Arealet beregnes og tilordnes variabelverdien. Deretter returneres den tilbake til hovedprogrammet.

Hva er likhetene mellom funksjonsprototype og funksjonsdefinisjon i C?

  • Både funksjonsprototype og funksjonsdefinisjon er relatert til funksjoner.
  • Både funksjonsprototype og funksjonsdefinisjon inneholder funksjonsnavn.
  • Både funksjonsprototype og funksjonsdefinisjon inneholder returtyper.
  • Både funksjonsprototype og funksjonsdefinisjon inneholder parametere.

Hva er forskjellen mellom funksjonsprototype og funksjonsdefinisjon i C?

Funksjonsprototype vs funksjonsdefinisjon i C

Funksjonsprototypen spesifiserer funksjonsnavnet, returtype, parametere, men utelater funksjonsteksten. Funksjonsdefinisjonen spesifiserer funksjonens navn, returtype; parametere inkluderer en funksjonstekst.
Implementering
Funksjonsprototypen har ikke funksjonsimplementeringen. Funksjonsdefinisjonen har funksjonsimplementeringen.

Sammendrag – funksjonsprototype vs funksjonsdefinisjon i C

Å bruke funksjoner i programmer har fordeler. Funksjoner øker kodens gjenbrukbarhet. Det er ikke nødvendig å skrive den samme koden igjen og igjen. I stedet kan programmereren dele opp programmet og kalle opp den nødvendige funksjonen. I C er det bibliotekfunksjoner. Disse funksjonene er deklarert i C-headerfilene. Noen av dem er printf (), scanf () osv. Programmereren kan også skrive sine egne funksjoner. Det er to begreper som er knyttet til funksjoner i C. De fungerer som prototype og funksjonsdefinisjon. Forskjellen mellom funksjonsprototypen og funksjonsdefinisjonen i C er at funksjonsprototypen kun inneholder deklarasjonen av funksjonen mens funksjonsdefinisjonen inneholder selve implementeringen av funksjonen.

Last ned PDF-filen for funksjonsprototype vs funksjonsdefinisjon i C

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til offline-formål i henhold til sitat. Last ned PDF-versjonen her: Difference Between Function Prototype and Function Definition in C

Anbefalt: