Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C - Functies

Een functie is een groep statements die samen een taak uitvoeren. Elk C-programma heeft minstens één functie, namelijk main() , en de meest triviale programma's kunnen extra functies definiëren.

U kunt uw code opdelen in afzonderlijke functies. Hoe je je code verdeelt over verschillende functies is aan jou, maar logischerwijs is de verdeling zo dat elke functie een specifieke taak uitvoert.

Een functie declaratie vertelt de compiler over de naam, het retourtype en de parameters van een functie. Een functie definitie biedt de eigenlijke hoofdtekst van de functie.

De C-standaardbibliotheek biedt tal van ingebouwde functies die uw programma kan aanroepen. Bijvoorbeeld strcat() om twee strings samen te voegen, memcpy() om een ​​geheugenlocatie naar een andere locatie te kopiëren en nog veel meer functies.

Een functie kan ook worden aangeduid als een methode of een subroutine of een procedure, enz.

Een functie definiëren

De algemene vorm van een functiedefinitie in programmeertaal C is als volgt −

return_type function_name( parameter list ) {
   body of the function
}

Een functiedefinitie in C-programmering bestaat uit een functiekop en een functielichaam . Hier zijn alle onderdelen van een functie −

  • Retourtype − Een functie kan een waarde teruggeven. Het return_type is het gegevenstype van de waarde die de functie retourneert. Sommige functies voeren de gewenste bewerkingen uit zonder een waarde terug te geven. In dit geval is het return_type het trefwoord void .

  • Functienaam − Dit is de werkelijke naam van de functie. De functienaam en de parameterlijst vormen samen de functiehandtekening.

  • Parameters − Een parameter is als een tijdelijke aanduiding. Wanneer een functie wordt aangeroepen, geeft u een waarde door aan de parameter. Deze waarde wordt de werkelijke parameter of het argument genoemd. De parameterlijst verwijst naar het type, de volgorde en het aantal parameters van een functie. Parameters zijn optioneel; dat wil zeggen, een functie mag geen parameters bevatten.

  • Functietekst − De functietekst bevat een verzameling instructies die definiëren wat de functie doet.

Voorbeeld

Hieronder vindt u de broncode voor een functie genaamd max() . Deze functie heeft twee parameters num1 en num2 en retourneert de maximale waarde tussen de twee −

/* function returning the max between two numbers */
int max(int num1, int num2) {

   /* local variable declaration */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

Functieverklaringen

Een functie declaratie vertelt de compiler over een functienaam en hoe de functie moet worden aangeroepen. De eigenlijke hoofdtekst van de functie kan afzonderlijk worden gedefinieerd.

Een functiedeclaratie heeft de volgende onderdelen −

return_type function_name( parameter list );

Voor de hierboven gedefinieerde functie max(), is de functiedeclaratie als volgt −

int max(int num1, int num2);

Parameternamen zijn niet belangrijk in functiedeclaratie alleen hun type is vereist, dus het volgende is ook een geldige declaratie −

int max(int, int);

Functiedeclaratie is vereist wanneer u een functie in het ene bronbestand definieert en die functie in een ander bestand aanroept. In dat geval moet u de functie declareren bovenaan het bestand dat de functie aanroept.

Een functie aanroepen

Bij het maken van een C-functie geef je een definitie van wat de functie moet doen. Om een ​​functie te gebruiken, moet u die functie aanroepen om de gedefinieerde taak uit te voeren.

Wanneer een programma een functie oproept, wordt de programmabesturing overgedragen naar de opgeroepen functie. Een aangeroepen functie voert een gedefinieerde taak uit en wanneer de return-instructie wordt uitgevoerd of wanneer de functiebeëindigende accolade wordt bereikt, keert het de programmabesturing terug naar het hoofdprogramma.

Om een ​​functie aan te roepen, hoeft u alleen de vereiste parameters samen met de functienaam door te geven, en als de functie een waarde retourneert, kunt u de geretourneerde waarde opslaan. Bijvoorbeeld −

Live demo
#include <stdio.h>
 
/* function declaration */
int max(int num1, int num2);
 
int main () {

   /* local variable definition */
   int a = 100;
   int b = 200;
   int ret;
 
   /* calling a function to get max value */
   ret = max(a, b);
 
   printf( "Max value is : %d\n", ret );
 
   return 0;
}
 
/* function returning the max between two numbers */
int max(int num1, int num2) {

   /* local variable declaration */
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

We hebben max() samen met main() behouden en de broncode gecompileerd. Tijdens het uitvoeren van het laatste uitvoerbare bestand zou dit het volgende resultaat opleveren −

Max value is : 200

Functieargumenten

Als een functie argumenten moet gebruiken, moet deze variabelen declareren die de waarden van de argumenten accepteren. Deze variabelen worden de formele parameters . genoemd van de functie.

Formele parameters gedragen zich als andere lokale variabelen binnen de functie en worden aangemaakt bij het betreden van de functie en vernietigd bij het afsluiten.

Bij het aanroepen van een functie zijn er twee manieren waarop argumenten aan een functie kunnen worden doorgegeven −

Sr.nr. Oproeptype en beschrijving
1 Bellen op waarde

Deze methode kopieert de werkelijke waarde van een argument naar de formele parameter van de functie. In dit geval hebben wijzigingen aan de parameter in de functie geen effect op het argument.

2 Bel op referentie

Deze methode kopieert het adres van een argument naar de formele parameter. Binnen de functie wordt het adres gebruikt om toegang te krijgen tot het daadwerkelijke argument dat in de aanroep wordt gebruikt. Dit betekent dat wijzigingen aan de parameter het argument beïnvloeden.

C gebruikt standaard call by value argumenten door te geven. In het algemeen betekent dit dat de code binnen een functie de argumenten die worden gebruikt om de functie aan te roepen niet kan veranderen.


C Taal

  1. Soorten door de gebruiker gedefinieerde functies in C-programmering
  2. Geef arrays door aan een functie in C
  3. C Standaard bibliotheekfuncties
  4. Python Lambda-functies met VOORBEELDEN
  5. Verilog-functies
  6. C - Bitvelden
  7. C - Bestand I/O
  8. C - Variabele argumenten
  9. Polymorfisme in C++
  10. MATLAB - Functies
  11. C# - Methoden