C Funcții definite de utilizator

În acest tutorial, veți învăța să creați funcții definite de utilizator în programarea C cu ajutorul unui exemplu.

O funcție este un bloc de cod care efectuează o sarcină specifică.

C vă permite să definiți funcțiile în funcție de nevoile dvs. Aceste funcții sunt cunoscute ca funcții definite de utilizator. De exemplu:

Să presupunem că trebuie să creați un cerc și să-l colorați în funcție de rază și culoare. Puteți crea două funcții pentru a rezolva această problemă:

  • createCircle() funcţie
  • color() funcţie

Exemplu: funcție definită de utilizator

Iată un exemplu pentru a adăuga două numere întregi. Pentru a efectua această sarcină, am creat o definită de utilizator 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 ) 

Prototipul funcției

Un prototip de funcție este pur și simplu declarația unei funcții care specifică numele funcției, parametrii și tipul de returnare. Nu conține corpul funcției.

Un prototip de funcție oferă informații compilatorului că funcția poate fi utilizată ulterior în program.

Sintaxa prototipului funcției

 returnType functionName (tip1 argument1, tip2 argument2, …);

În exemplul de mai sus, int addNumbers(int a, int b);este prototipul funcției care oferă următoarele informații compilatorului:

  1. numele funcției este addNumbers()
  2. tipul de returnare a funcției este int
  3. două argumente de tip intsunt transmise funcției

Prototipul funcției nu este necesar dacă funcția definită de utilizator este definită înainte de main()funcție.

Apelarea unei funcții

Controlul programului este transferat către funcția definită de utilizator prin apelarea acestuia.

Sintaxa apelului funcțional

 functionName (argument1, argument2, …);

În exemplul de mai sus, apelul funcției se face folosind addNumbers(n1, n2);instrucțiunea din interiorul main()funcției.

Definirea funcției

Definiția funcției conține blocul de cod pentru a efectua o sarcină specifică. În exemplul nostru, adăugarea a două numere și returnarea acestuia.

Sintaxa definiției funcției

 returnType functionName (type1 argument1, type2 argument2, …) (// corpul funcției) 

Când se apelează o funcție, controlul programului este transferat la definiția funcției. Și, compilatorul începe să execute codurile din corpul unei funcții.

Transmiterea argumentelor unei funcții

În programare, argumentul se referă la variabila transmisă funcției. În exemplul de mai sus, două variabile n1 și n2 sunt transmise în timpul apelului funcțional.

Parametrii a și b acceptă argumentele trecute în definiția funcției. Aceste argumente sunt numite parametri formali ai funcției.

Tipul de argumente transmise unei funcții și parametrii formali trebuie să se potrivească, în caz contrar, compilatorul va arunca o eroare.

Dacă n1 este de tip char, de asemenea, ar trebui să fie de tip char. Dacă n2 este de tip float, variabila b ar trebui să fie și de tip float.

O funcție poate fi apelată și fără a trece un argument.

Declarație de returnare

Instrucțiunea return termină executarea unei funcții și returnează o valoare funcției apelante. Controlul programului este transferat la funcția de apelare după declarația de returnare.

În exemplul de mai sus, valoarea variabilei de rezultat este returnată funcției principale. Variabilei sumă din main()funcție i se atribuie această valoare.

Sintaxa declarației return

 retur (expresie); 

De exemplu,

retur a; return (a + b);

Tipul valorii returnate din funcție și tipul returnat specificat în prototipul funcției și definiția funcției trebuie să se potrivească.

Accesați această pagină pentru a afla mai multe despre transmiterea argumentelor și returnarea valorii dintr-o funcție.

Articole interesante...