Î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ţiecolor()
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:
- numele funcției este
addNumbers()
- tipul de returnare a funcției este
int
- două argumente de tip
int
sunt 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.