C Door de gebruiker gedefinieerde functies

In deze tutorial leer je aan de hand van een voorbeeld gebruikersgedefinieerde 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() functie
  • color() functie

Voorbeeld: door de gebruiker gedefinieerde functie

Hier is een voorbeeld om twee gehele getallen toe te voegen. Om deze taak uit te voeren, hebben we een door de gebruiker gedefinieerd addNumbers().

 #include 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 functieprototype is gewoon de declaratie van een functie die de naam, parameters en het retourtype van een functie specificeert. Het bevat geen functielichaam.

Een functieprototype geeft informatie aan de compiler dat de functie later in het programma kan worden gebruikt.

Syntaxis van functieprototype

 returnType functienaam (type1 argument1, type2 argument2,…);

In het bovenstaande voorbeeld int addNumbers(int a, int b);is het functieprototype dat de volgende informatie aan de compiler levert:

  1. naam van de functie is addNumbers()
  2. retourtype van de functie is int
  3. twee argumenten van het type intworden aan de functie doorgegeven

Het functie-prototype is niet nodig als de door de gebruiker gedefinieerde functie vóór de main()functie is gedefinieerd .

Een functie aanroepen

De besturing van het programma wordt overgedragen aan de door de gebruiker gedefinieerde functie door deze aan te roepen.

Syntaxis van functieaanroep

 functionName (argument1, argument2, …);

In het bovenstaande voorbeeld wordt de functieaanroep gedaan met behulp van de addNumbers(n1, n2);instructie binnen de main()functie.

Functie definitie

Functiedefinitie bevat het codeblok om een ​​specifieke taak uit te voeren. In ons voorbeeld twee getallen optellen en retourneren.

Syntaxis van functiedefinitie

 returnType functionName (type1 argument1, type2 argument2,…) (// body van de functie) 

Wanneer een functie wordt aangeroepen, wordt de besturing van het programma overgedragen aan de functiedefinitie. En de compiler begint met het uitvoeren van de codes in de body van een functie.

Argumenten doorgeven aan een functie

Bij het programmeren verwijst argument naar de variabele die aan de functie is doorgegeven. In het bovenstaande voorbeeld worden twee variabelen n1 en n2 doorgegeven tijdens de functieaanroep.

De parameters a en b accepteren de doorgegeven argumenten in de functiedefinitie. Deze argumenten worden formele parameters van de functie genoemd.

Het type argumenten dat aan een functie wordt doorgegeven en de formele parameters moeten overeenkomen, anders genereert de compiler een fout.

Als n1 van het char-type is, moet a ook van het char-type zijn. Als n2 van het type float is, moet variabele b 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 aan de aanroepende functie. De programmabesturing wordt overgedragen aan de aanroepende functie na de return-instructie.

In het bovenstaande voorbeeld wordt de waarde van de resultaatvariabele geretourneerd naar de hoofdfunctie. De somvariabele in de main()functie krijgt deze waarde toegewezen.

Syntaxis van retourinstructie

 return (uitdrukking); 

Bijvoorbeeld,

retourneer een; terugkeer (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.

Interessante artikelen...