C Brugerdefinerede funktioner

I denne vejledning lærer du at oprette brugerdefinerede funktioner i C-programmering ved hjælp af et eksempel.

En funktion er en blok af kode, der udfører en bestemt opgave.

C giver dig mulighed for at definere funktioner efter dit behov. Disse funktioner er kendt som brugerdefinerede funktioner. For eksempel:

Antag at du skal oprette en cirkel og farve den afhængigt af radius og farve. Du kan oprette to funktioner til at løse dette problem:

  • createCircle() fungere
  • color() fungere

Eksempel: Brugerdefineret funktion

Her er et eksempel på at tilføje to heltal. For at udføre denne opgave har vi oprettet en brugerdefineret 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 ) 

Funktionsprototype

En funktionsprototype er simpelthen erklæringen af ​​en funktion, der specificerer funktionens navn, parametre og returtype. Det indeholder ikke funktionslegeme.

En funktionsprototype giver information til kompilatoren om, at funktionen senere kan bruges i programmet.

Syntaks for funktionsprototype

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

I ovenstående eksempel int addNumbers(int a, int b);er funktionsprototypen, der giver følgende information til compileren:

  1. funktionens navn er addNumbers()
  2. funktionens returtype er int
  3. to argumenter af typen intsendes til funktionen

Funktionsprototypen er ikke nødvendig, hvis den brugerdefinerede funktion er defineret før main()funktionen.

Opkald til en funktion

Kontrol af programmet overføres til den brugerdefinerede funktion ved at kalde det.

Syntaks for funktionsopkald

 funktionsnavn (argument1, argument2, …);

I ovenstående eksempel foretages funktionsopkaldet ved hjælp af addNumbers(n1, n2);udsagn inde i main()funktionen.

Funktionsdefinition

Funktionsdefinition indeholder kodeblokken til at udføre en bestemt opgave. I vores eksempel tilføjer du to tal og returnerer det.

Syntaks for funktionsdefinition

 returnType functionName (type1 argument1, type2 argument2,…) (// body of the function) 

Når en funktion kaldes, overføres styringen af ​​programmet til funktionsdefinitionen. Og kompilatoren begynder at udføre koder inde i kroppen af ​​en funktion.

Videregivelse af argumenter til en funktion

I programmering refererer argument til den variabel, der sendes til funktionen. I ovenstående eksempel overføres to variabler n1 og n2 under funktionsopkaldet.

Parametrene a og b accepterer de beståede argumenter i funktionsdefinitionen. Disse argumenter kaldes formelle parametre for funktionen.

Den type argumenter, der sendes til en funktion, og de formelle parametre skal matche, ellers kaster compileren en fejl.

Hvis n1 er af char-type, bør a også være af char-type. Hvis n2 er af flydetype, skal variabel b også være af flydetype.

En funktion kan også kaldes uden at videregive et argument.

Returerklæring

Retursætningen afslutter udførelsen af ​​en funktion og returnerer en værdi til den kaldende funktion. Programstyringen overføres til opkaldsfunktionen efter returopgørelsen.

I ovenstående eksempel returneres værdien af ​​resultatvariablen til hovedfunktionen. Som variabel i main()funktionen tildeles denne værdi.

Syntaks for return statement

 returnere (udtryk); 

For eksempel,

returnere en; returnere (a + b);

Værdien, der returneres fra funktionen, og den returtype, der er angivet i funktionsprototypen og funktionsdefinitionen, skal stemme overens.

Besøg denne side for at lære mere om videregivelse af argumenter og returnering af værdi fra en funktion.

Interessante artikler...