Verschil Tussen Functieprototype En Functiedefinitie In C

Inhoudsopgave:

Verschil Tussen Functieprototype En Functiedefinitie In C
Verschil Tussen Functieprototype En Functiedefinitie In C

Video: Verschil Tussen Functieprototype En Functiedefinitie In C

Video: Verschil Tussen Functieprototype En Functiedefinitie In C
Video: 5HUMT/5HUEC - Theorie Les 5: Irrationale functies - b) irrationale functie en c) onderzoek 2024, April
Anonim

Belangrijkste verschil - Functieprototype versus functiedefinitie in C

Een functie is een groep instructies die worden gebruikt om een specifieke taak uit te voeren. Bij C-programmering begint de uitvoering vanaf main (). Het is een functie. In plaats van alle instructies in hetzelfde programma te schrijven, kan het worden onderverdeeld in meerdere functies. Elke functie zal verschillende functionaliteiten vervullen. Het functie-prototype vertelt de compiler over de functienaam, retourtypen en parameters. Het is ook bekend als een functieverklaring. Elke functie heeft een specifieke naam om deze te identificeren. De functie-instructies zijn geschreven binnen een paar accolades. De functies kunnen een waarde retourneren. Er zijn enkele functies die geen waarde retourneren. De gegevens worden aan de functie doorgegeven met behulp van de parameterlijst. De functiedefinitie heeft de feitelijke functionaliteit die wordt uitgevoerd door de functie. Bij C-programmering is er een functieprototype en functiedefinitie. Het belangrijkste verschil tussen het functieprototype en de functiedefinitie is dat het functieprototype alleen de declaratie van de functie bevat, terwijl de functiedefinitie de daadwerkelijke implementatie van de functie bevat. De functiedefinitie heeft de lokale variabelen en de instructies die bepalen wat de functie doet.

INHOUD

1. Overzicht en belangrijkste verschil

2. Wat is functieprototype in C

3. Wat is functiedefinitie in C

4. Overeenkomsten tussen functieprototype en functiedefinitie in C

5. Vergelijking zij aan zij - functieprototype versus functiedefinitie in C in tabelvorm

6. Samenvatting

Wat is functieprototype in C?

Function Prototype levert de functieverklaring. Het specificeert de naam van de functie, de retourtypen, de parameters. De retourtypen zijn het gegevenstype dat wordt geretourneerd door de functie. Als een functie een geheel getal retourneert, is het retourtype int. Wanneer een functie een float-waarde retourneert, is het retourneringstype een float. Als de functie geen waarde retourneert, is het een ongeldige functie. De functienaam wordt gebruikt om deze te identificeren. C-sleutelwoorden kunnen niet als functienamen worden gebruikt. De gegevens worden met behulp van parameters aan de functie doorgegeven. Het functie-prototype bevat niet de echte implementatie van de functie. Het functieprototype heeft de volgende syntaxis.

(parameterlijst);

Als er een functie is om het maximum van twee getallen te berekenen, kan de declaratie worden geschreven als int max (int num1, int num2); De maximale waarde moet worden gevonden in num1 en num2. Dat zijn gehele getallen, en ze worden doorgegeven aan de functie. Het retourtype is in het begin ook int. De functie retourneert dus een geheel getal. Het is niet nodig om de parameternamen in het functie-prototype te schrijven. Maar het is noodzakelijk om de gegevenstypen te schrijven. Daarom int max (int, int); is ook een geldig functie-prototype. Als er twee gehele getallen zijn als num1, num2, num3 en het prototype wordt geschreven als int max (int num1, int num2, num3); het is ongeldig. De num1, num2 hebben de datatypes, maar num3 heeft geen datatype. Daarom is het ongeldig.

Verschil tussen functieprototype en functiedefinitie in C
Verschil tussen functieprototype en functiedefinitie in C

Raadpleeg het onderstaande programma.

#inclusief

int CarMax (int x, int y);

int main () {

int p = 10;

int q = 20;

int antwoord;

answer = calMax (p, q);

printf ("De maximale waarde is% d / n", antwoord);

retourneer 0;

}

int calMax (int p, int q) {

int waarde;

if (p> q) {

waarde = p;

}

anders {

waarde = q;

}

winstwaarde;

}

Volgens het bovenstaande toont de tweede instructie het functieprototype. Het heeft niet de implementatie. De daadwerkelijke implementatie is na het hoofdprogramma. De functieprototypes zijn handiger bij het definiëren van een functie in het ene bronbestand en het aanroepen van die functie in een ander in een ander bestand.

Wat is functiedefinitie in C?

De functiedefinitie heeft de daadwerkelijke implementatie van de functie. Het bevat wat de functie moet doen. Wanneer het programma de functie oproept, wordt de besturing overgedragen naar de opgeroepen functie. Na het uitvoeren van de functie keert de besturing terug naar de hoofdfunctie. De vereiste gegevens worden als parameterlijst aan de functie doorgegeven. Als er een waarde terugkeert, wordt het retourtype vermeld. Als er geen retourwaarden zijn, is het retourtype ongeldig. Raadpleeg de onderstaande functie om de oppervlakte van een driehoek te berekenen.

#inclusief

zweven calArea (int x, int y);

int main () {

int p = 10;

int q = 20;

flaot gebied;

gebied = calArea (p, q);

printf ("De maximale waarde is% f / n", gebied);

retourneer 0;

}

zweven calArea (int x, int y) {

zwevende waarde;

waarde = 0,5 * x * y;

winstwaarde;

}

Volgens het bovenstaande programma geeft de tweede instructie het functieprototype aan. De daadwerkelijke implementatie van wat de functie uitvoert, wordt geschreven na het hoofdprogramma. Het is de functiedefinitie. De p- en q-waarden worden doorgegeven aan de functie calArea. De variabele waarde is een lokale variabele voor de functie calArea. De oppervlakte wordt berekend en toegewezen aan de variabele waarde. Daarna keert het terug naar het hoofdprogramma.

Wat zijn de overeenkomsten tussen functieprototype en functiedefinitie in C?

  • Zowel het functieprototype als de functiedefinitie zijn gerelateerd aan functies.
  • Zowel het functieprototype als de functiedefinitie bevatten de functienaam.
  • Zowel het functieprototype als de functiedefinitie bevatten retourtypen.
  • Zowel het functie-prototype als de functiedefinitie bevatten parameters.

Wat is het verschil tussen functieprototype en functiedefinitie in C?

Diff Artikel Midden voor Tafel

Functieprototype versus functiedefinitie in C

Het functieprototype specificeert de functienaam, het retourtype en de parameters, maar laat de hoofdtekst weg. De functiedefinitie specificeert de functienaam, het retourtype; parameters bevatten een functie body.
Implementatie
Het functie-prototype heeft niet de functie-implementatie. De functiedefinitie heeft de functie-implementatie.

Samenvatting - Functieprototype versus functiedefinitie in C

Het gebruik van functies in programma's heeft voordelen. Functies vergroten de herbruikbaarheid van code. Het is niet nodig om steeds dezelfde code te schrijven. In plaats daarvan kan de programmeur het programma verdelen en de benodigde functie oproepen. In C zijn er bibliotheekfuncties. Deze functies worden gedeclareerd in de C-headerbestanden. Sommigen van hen zijn printf (), scanf () etc. De programmeur kan ook hun eigen functies schrijven. Er zijn twee termen die worden geassocieerd met functies in C. Ze functioneren als prototype en functiedefinitie. Het verschil tussen het functieprototype en de functiedefinitie in C is dat het functieprototype alleen de declaratie van de functie bevat, terwijl de functiedefinitie de daadwerkelijke implementatie van de functie bevat.

Download de PDF van Functieprototype versus functiedefinitie in C

U kunt de pdf-versie van dit artikel downloaden en offline gebruiken volgens de citatienota. Download de pdf-versie hier: Verschil tussen functieprototype en functiedefinitie in C

Aanbevolen: