Documente Academic
Documente Profesional
Documente Cultură
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.
[directive de preprocesare]
...
{ declaraţii
instrucţiuni instrucţiuni
}]
...
[directive de preprocesare]
...
{ declaraţii
instrucţiuni instrucţiuni
}]
...
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
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;
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 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 0;
else return i;