De belangrijk verschil tussen declaratie en definitie in C is dat verklaring in C vertelt de compiler over de functienaam, retourneringstype en parameters, terwijl definitie in C de daadwerkelijke implementatie van de functie bevat. Dat wil zeggen dat declaratie informatie verschaft over de functie van de compiler, terwijl de definitie de eigenlijke instructies van de functie bevat om een specifieke taak uit te voeren.
C is een gestructureerde programmeertaal voor algemeen gebruik. Het maakt gebruik van besturingsstructuren zoals if / else, herhalingen zoals voor loop, while loop en functies. Een functie is een reeks instructies die helpt om een bepaalde taak steeds opnieuw uit te voeren. Bovendien is het mogelijk om de functies van de hoofdfunctie te bellen. Nadat de laatste instructie van de functie is uitgevoerd, gaat de besturing terug naar de hoofdfunctie. Dit artikel bespreekt de verklaring en definitie van functies in C en vergelijkt het verschil daartussen. De functiedefinitie geeft aan wat de functie doet en de declaratie geeft aan wat naar de functie gaat; het is een prototype.
1. Overzicht en belangrijkste verschil
2. Wat is verklaring in C
3. Wat is definitie in C
4. Vergelijking zij aan zij - Verklaring versus definitie in C in tabelvorm
5. Samenvatting
Declaration geeft informatie over de functie aan de compiler. De syntaxis voor de declaratie is als volgt.
return_ type function_name (parameterlijst);
Neem een functie aan die de som van twee gehele getallen berekent. De verklaring is als volgt.
int sum (int num1, int num2);
De naam van de functie is sum en de parameters zijn twee gehele getallen die num1 en num2 zijn. Deze functie retourneert een geheel getal. De volledige instructie eindigt met een puntkomma.
Het is niet nodig om de namen van de parameters op te nemen in de aangifte. Daarom is het ook mogelijk om alleen het gegevenstype als volgt te vermelden. Hierna volgt een geldige verklaring.
int sum (int, int);
Definitie bevat de feitelijke instructies van de functie om een specifieke taak uit te voeren. De syntaxis is als volgt.
return_type function_name (parameterlijst)
// functieverklaringen
Functienaam helpt om de functie te identificeren. Bij het oproepen van een functie gaan waarden naar die functie over. Deze waarden worden naar de parameters gekopieerd. De parameterlijst kan een parameter of een aantal parameters bevatten. En deze parameters hebben een gegevenstype en een naam. Bovendien kunnen er ook functies zonder parameter zijn.
De verklaringen van de functie bevinden zich in de accolades. Het is het functionele lichaam. Nadat de functie is uitgevoerd, wordt er een waarde geretourneerd. Het retourtype is afhankelijk van de geretourneerde waarde. Als de functie een geheel getal retourneert, is het retourneertype int. Als de functie een dubbele retourneert, is het retourtype dubbel enz.
Raadpleeg de onderstaande code met verklaring en definitie van een functie.
Figuur 01: Programma om de sommatie van twee getallen te berekenen
Volgens het bovenstaande programma geeft regel 3 de verklaring weer. Het vertelt de compiler over de functienaam, parameters etc. In de hoofdfunctie worden twee waarden van het toetsenbord genomen en opgeslagen in de variabele 'a' en 'b'. In regel 12 worden deze waarden doorgegeven aan de functie met de naam sum. Deze 'a' en 'b' zijn argumenten.
In regel 16 wordt de somfunctie uitgevoerd. Het kopieert de waarde a naar num1 en waarde b naar num2. Deze functie retourneert de sommatie en die waarde slaat op naar de variabele 'ans' (regel 12). Uiteindelijk wordt het antwoord op het scherm afgedrukt. In het kort geeft regel 3 de verklaring weer, terwijl regel 16 tot 18 de definitie weergeeft.
Declaration is een prototype dat de functienaam en de typeaanduiding specificeert, zoals gegevenstypen, retourtypen en parameters, maar laat de functielichaam weg. Definitie geeft de functienaam en type handtekeningen aan, zoals gegevenstypes, retourtypen en parameters, en deze bevat de functie-instantie. Verklaring vertelt de compiler over de functienaam en hoe deze te gebruiken. Aan de andere kant bevat de definitie de daadwerkelijke implementatie van de functie. Het beschrijft de taak van de functie.
Het verschil tussen declaratie en definitie in C is dat declaratie in C de compiler vertelt over de functienaam, retourneringstype en parameters, terwijl definitie in C de daadwerkelijke implementatie van de functie bevat.
1. Trainingspunt. "C functies." Tutorials Point, 19 maart 2018. Beschikbaar Hier
2. "Functieprototype." Wikipedia, Wikimedia Foundation, 28 mei 2018. Beschikbaar Hier