Een functie is een groep instructies die worden gebruikt om een specifieke taak uit te voeren. In C-programmering begint de uitvoering vanaf main (). Het is een functie. In plaats van alle instructies in hetzelfde programma te schrijven, kan deze in meerdere functies worden onderverdeeld. Elke functie zal verschillende functionaliteiten uitvoeren. Het functieprototype 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 functieverklaringen worden geschreven in een paar accolades. De functies kunnen een waarde retourneren. Er zijn enkele functies die geen waarde teruggeven. De gegevens worden doorgegeven aan de functie met behulp van de parameterlijst. De functiedefinitie heeft de feitelijke functionaliteit die door de functie wordt uitgevoerd. In C-programmering is er functieprototype en functiedefinitie. De belangrijk verschil tussen het functie-prototype en functiedefinitie is dat de function prototype bevat alleen de declaratie van de functie 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.
1. Overzicht en belangrijkste verschil
2. Wat is functieprototype in C
3. Wat is functie-definitie in C
4. Overeenkomsten tussen functieprototype en functiedefinitie in C
5. Vergelijking zij aan zij - Functie Prototype versus functie-definitie in C in tabelvorm
6. Samenvatting
Functieprototype biedt de functieverklaring. Het specificeert de naam van de functie, de retourtypen, de parameters. De retourtypen zijn het gegevenstype dat uit de functie terugkeert. Wanneer een functie een geheel getal retourneert, is het retourneertype int. Wanneer een functie een zwevende waarde retourneert, is het retourneertype een zwevend getal. Als de functie geen waarde teruggeeft, is het een ongeldige functie. De functienaam wordt gebruikt om het te identificeren. C-trefwoorden kunnen niet als functienamen worden gebruikt. De gegevens worden met parameters doorgegeven aan de functie. Het functieprototype 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 deze worden doorgegeven aan de functie. Het retourtype is in het begin ook int. Dus de functie retourneert een geheel getal. Het is niet nodig om de parameternamen in het functieprototype te schrijven. Maar het is noodzakelijk om de gegevenstypen te schrijven. Daarom int max (int, int); is ook een geldig functieprototype. Als er twee gehele getallen zijn als num1, num2, num3 en het prototype is geschreven als int max (int num1, int num2, num3); het is ongeldig. De num1, num2 hebben de gegevenstypen, maar num3 heeft geen gegevenstype. Daarom is het ongeldig.
Raadpleeg het onderstaande programma.
#include
int CarMax (int x, int y);
int main ()
int p = 10;
int q = 20;
int antwoord;
antwoord = 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 verklaring het functie-prototype. Het heeft niet de implementatie. De daadwerkelijke implementatie is na het hoofdprogramma. De functieprototypes zijn nuttiger bij het definiëren van een functie in één bronbestand en noemen die functie in een andere in een ander bestand.
De functiedefinitie heeft de daadwerkelijke implementatie van de functie. Het bevat wat de functie zou moeten 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 een parameterlijst aan de functie doorgegeven. Als er een waarde terugkeert, wordt het retourtype vermeld. Als er geen terugkerende waarden zijn, is het retourtype ongeldig. Raadpleeg de onderstaande functie om het gebied van een driehoek te berekenen.
#include
float 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;
float calArea (int x, int y)
zwevende waarde;
waarde = 0,5 * x * y;
winstwaarde;
Volgens het bovenstaande programma geeft de tweede verklaring het functieprototype aan. De daadwerkelijke implementatie van wat de functie uitvoert, is geschreven na het hoofdprogramma. Het is de functiedefinitie. De p- en q-waarden worden doorgegeven aan de calArea-functie. De variabele waarde is een lokale variabele voor de calArea-functie. Het gebied wordt berekend en toegewezen aan de variabele waarde. Daarna keert het terug naar het hoofdprogramma.
Functie Prototype versus functie-definitie in C | |
Het functieprototype specificeert de functienaam, retourneringstype, parameters maar laat de functielichaam weg. | De functiedefinitie specificeert de functienaam, retourneringstype; parameters bevatten een functie-instantie. |
Implementatie | |
Het functieprototype heeft niet de functie-implementatie. | De functiedefinitie heeft de functie-implementatie. |
Het gebruik van functies in programma's heeft voordelen. Functies verhogen de code-herbruikbaarheid. Het is niet nodig om dezelfde code steeds opnieuw te schrijven. In plaats daarvan kan de programmeur het programma verdelen en de benodigde functie oproepen. In C zijn bibliotheekfuncties. Deze functies worden gedeclareerd in de C-headerbestanden. Sommigen van hen zijn printf (), scanf () enz. De programmeur kan ook zijn 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 functiedefinitie in C is dat het functieprototype alleen de declaratie van de functie bevat, terwijl de functiedefinitie de daadwerkelijke implementatie van de functie bevat.
U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens citaatnotitie. Download de PDF-versie hier: Difference Between Function Prototype en Function Definition in C
1.C Functiedefinities. Beschikbaar Hier
2.tutorialspoint.com. "C functies." Het punt. Beschikbaar Hier
1.'Het C-programmeertaallogo'door Rezonansowy (Public Domain) via Commons Wikimedia