C Door de gebruiker gedefinieerde functies
C Door de gebruiker gedefinieerde functies
In deze tutorial leert u aan de hand van een voorbeeld door de gebruiker gedefinieerde functies in C-programmering te creëren.
Een functie is een codeblok dat een specifieke taak uitvoert.
Met C kunt u functies definiëren op basis van uw behoefte. Deze functies staan bekend als door de gebruiker gedefinieerde functies. Bijvoorbeeld:
Stel dat u een cirkel moet maken en deze moet kleuren, afhankelijk van de straal en kleur. U kunt twee functies maken om dit probleem op te lossen:
createCircle()
functiecolor()
functie
Voorbeeld:door de gebruiker gedefinieerde functie
Hier is een voorbeeld om twee gehele getallen op te tellen. Om deze taak uit te voeren, hebben we een door de gebruiker gedefinieerde addNumbers()
.
#include <stdio.h>
int addNumbers(int a, int b); // function prototype
int main()
{
int n1,n2,sum;
printf("Enters two numbers: ");
scanf("%d %d",&n1,&n2);
sum = addNumbers(n1, n2); // function call
printf("sum = %d",sum);
return 0;
}
int addNumbers(int a, int b) // function definition
{
int result;
result = a+b;
return result; // return statement
}
Functie prototype
Een functie-prototype is gewoon de declaratie van een functie die de naam, parameters en het retourtype van de functie specificeert. Het bevat geen functietekst.
Een functie-prototype geeft informatie aan de compiler dat de functie later in het programma kan worden gebruikt.
Syntaxis van functieprototype
returnType functionName(type1 argument1, type2 argument2, ...);
In het bovenstaande voorbeeld int addNumbers(int a, int b);
is het functie-prototype dat de compiler de volgende informatie geeft:
- naam van de functie is
addNumbers()
- retourtype van de functie is
int
- twee argumenten van het type
int
worden doorgegeven aan de functie
Het functie-prototype is niet nodig als de door de gebruiker gedefinieerde functie is gedefinieerd vóór de main()
functie.
Een functie aanroepen
De besturing van het programma wordt overgedragen aan de door de gebruiker gedefinieerde functie door deze op te roepen.
Syntaxis van functie-aanroep
functionName(argument1, argument2, ...);
In het bovenstaande voorbeeld wordt de functie-aanroep gedaan met addNumbers(n1, n2);
statement binnen de main()
functie.
Functiedefinitie
Functiedefinitie bevat het codeblok om een specifieke taak uit te voeren. In ons voorbeeld twee getallen optellen en teruggeven.
Syntaxis van functiedefinitie
returnType functionName(type1 argument1, type2 argument2, ...) { //body of the function }
Wanneer een functie wordt aangeroepen, wordt de besturing van het programma overgedragen aan de functiedefinitie. En de compiler begint de codes in de body van een functie uit te voeren.
Argumenten doorgeven aan een functie
Bij het programmeren verwijst argument naar de variabele die aan de functie is doorgegeven. In het bovenstaande voorbeeld zijn twee variabelen n1 en n2 worden doorgegeven tijdens de functie-aanroep.
De parameters a en b accepteert de doorgegeven argumenten in de functiedefinitie. Deze argumenten worden formele parameters van de functie genoemd.
![](https://www.mfgrobots.com/article/uploadfiles/202112/2021122116213010.jpg)
Het type argumenten dat aan een functie wordt doorgegeven en de formele parameters moeten overeenkomen, anders geeft de compiler een fout.
Als n1 is van het type char, a moet ook van het type char zijn. Als n2 is van het type float, variabele b moet ook van het type float zijn.
Een functie kan ook worden aangeroepen zonder een argument door te geven.
Retourverklaring
De return-instructie beëindigt de uitvoering van een functie en retourneert een waarde naar de aanroepende functie. De programmabesturing wordt overgedragen naar de aanroepende functie na de return-instructie.
In het bovenstaande voorbeeld is de waarde van het resultaat variabele wordt teruggestuurd naar de hoofdfunctie. De som variabele in de main()
functie krijgt deze waarde toegewezen.
![](https://www.mfgrobots.com/article/uploadfiles/202112/2021122116213022.jpg)
Syntaxis van retourinstructie
return (expression);
Bijvoorbeeld,
return a; return (a+b);
Het type waarde dat wordt geretourneerd door de functie en het retourtype dat is opgegeven in het functieprototype en de functiedefinitie, moeten overeenkomen.
Bezoek deze pagina voor meer informatie over het doorgeven van argumenten en het retourneren van waarde van een functie.
C Taal