Sunteți pe pagina 1din 3

CONCEPTUL DE FUNCŢIE

Un program C se compune din una sau mai multe funcţii. Funcţia este o unitate lexicală de
program compilabilă independent.

Una dintre funcţii este funcţie principală, numele ei este predefinit şi anume main.

Execuţia programului începe cu prima instrucţiune din funcţia principală.

Dăm în continuare 2 exemple de structuri de program (fişiere sursă):

[directive de preprocesare]

[declaraţii de date globale]

[declaraţie prototip funcţia f1

...

declaraţie prototip funcţia fn]

[Void main (void)

{ declaraţii

instrucţiuni instrucţiuni

}]

[Implementare funcţia f1]

...

[Implementare funcţia fn]

[directive de preprocesare]

[declaraţii de date globale]

[declaraţie prototip funcţia f1

...

declaraţie prototip funcţia fn]


[Void main (void)

{ declaraţii

instrucţiuni instrucţiuni

}]

[implementare funcţia f1]

...

[implementare funcţia fn]

Funcţia principală main este obligatorie pentru orice program celelalte elemente fiind optionale.
Pentru ca o anumită funcţie să poată fi apelată e necesar ca ea să aibă declarat prototipul dacă
implementarea (definiţia) ei se află după funcţia main (exemplul 1). Dacă funcţia principală se
află la sfârşitul fişierului atunci nu mai e necesar prototipul funcţiei apelate ci doar
implementarea ei (exemplul 2). Comparând structura unui program C cu structura unui program
PASCAL se observă nivelul de imbricare diferit. În PASCAL apare o imbricare a procedurilor şi
funcţiilor pe când în C nu există o astfel de imbricare (rămâne la nivelul fiecărei funcţii dacă e
cazul).

Definiţia unei funcţii în limbajul C se compune din antet şi corp. O funcţie poate fi apelată dacă
este precedată de definiţia sau de prototipul ei. Aceste lucruri care sunt valabile în limbajul C se
regăsesc şi în limbajul C++.

Antet şi prototip

Antetul simplificat al unei funcţii în C are formatul:

tip nume_funcţie (lista_parametrilor_formali) unde:

tip - reprezintă tipul valorii returnate de funcţie sau dacă funcţia nu returnează nici o valoare se
pune cuvântul cheie void;

nume_funcţie - reprezintă un identificator clasic format dintr-un mixaj de litere şi cifre, primul
caracter fiind obligatoriu litera;

printre litere se numără şi liniuţa de subliniere;

lista_parametrilor_formali – nume de variabile separate prin virgule.

Exemple:

1) double radical (double x) // calculeaza radacina patrata din x si returneaza valoarea gasita
2) double radical_n (double x, int n) // calculeaza radacina de ordinul n din x

Prototipul unei funcţii este asemănător antetului dar la sfârşit se pune caracterul “;”

Corpul unei funcţii

Corpul unei funcţii C se compune din declaraţii de variabile locale şi instrucţiuni scrise între
acolade conform figurii de mai jos.

{ declaraţii

instrucţiuni

Exemplu de funcţie:

int modul (int i) // determina valoarea absoluta a intregului i si returneaza aceasta valoare

{ if (i < 0) return –i;

if (i = = 0) return 0;

else return i;

S-ar putea să vă placă și