Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
O funcţie care nu returnează nici o valoare la revenirea din ea se apelează printr-o instrucţiune
de apel. Ea are următorul format:
unde:
lista_parametrilor_efectivi este fie vidă, fie se compune din una sau mai multe expresii
separate prin virgulă.
Instrucţiunea de apel este un caz particular al instrucţiunii expresie. Parametrii efectivi (de la
apel) trebuie să corespundă cu cei formali (de la definirea funcţiei) prin ordine, tip şi număr.
În cazul în care o funcţie returnează o valoare, ea poate fi apelată fie printr-o instrucţiune de
apel, fie sub forma unui operand al unei expresii.
Observaţii:
1) Dacă nu dorim să utilizăm valoarea returnată de funcţia respectivă, apelul se face printr-o
instrucţiune de apel.
2) Dacă dorim să utilizăm valoarea returnată de funcţie, vom folosi apelul funcţiei drept
operand într-o expresie, operandul având formatul (*).
Exemple de apeluri de funcţii folosite până acum sunt apelurile funcţiilor standard printf,
scanf, getchar şi putchar. Funcţiile printf şi putchar au fost apelate prin instrucţiuni de apel,
valorile returnate de ele nefiind utilizate. În schimb funcţiile scanf şi getchar au fost apelate în
ambele moduri, atât prin instrucţiuni de apel, cât şi ca operanzi în diferite expresii
tipurile parametrilor.
În felul acesta, la apelul unei funcţii, compilatorul poate face teste cu privire la tipul
expresiilor care reprezintă parametrii efectivi, precum şi unele conversii necesare asupra
valorii returnate de funcţie.
Observaţii:
1o. Tipurile parametrilor pot să lipsească. În acest caz, compilatorul nu controlează tipurile
parametrilor efectivi, singura informaţie conţinută de prototip fiind tipul valorii returnate de
funcţia respectivă.
2o. Absenţa atât a prototipului unei funcţii, cât şi a definiţiei funcţiei înainte de a fi apelată
este posibilă; în acest caz se presupune că funcţia returnează o valoare de tip int.
Formatul 2 este cel mai utilizat. Formatul 3 se poate folosi pentru orice funcţie care nu are
parametri. Formatul 4 se poate folosi pentru orice funcţie la al cărei apel nu se doresc teste
referitoare la tipul parametrilor efectivi.
Funcţiile din biblioteca standard a limbajului C au prototipurile definite în fişierele de tip .h.
după execuţia ultimei sale instrucţiuni, adică a instrucţiunii care precede acolada închisă ce
termină corpul funcţiei respective.
Primul format se utilizează când funcţia nu returnează o valoare, iar cel de-al doilea când
funcţia returnează o valoare. În acest ultim caz, funcţia returnează valoarea expresiei
specificate.
Observaţie:
1o. Când revenirea se face după execuţia ultimei instrucţiuni a funcţiei nu se returnează o
valoare; revenirea în acest caz, se face ca şi cum acolada închisă de la sfârşitul corpului
funcţiei ar fi precedată de instrucţiunea return.
Exemplu: vom da un exemplu de apel al funcţiei care determină rădacina pătratică dintr-un
număr nenegativ.
#include<stdio.h>
{ double d;
else
{ double x1,x2,y;
x2 = 1.0;
do { x1 = x2;
return x2;
Observaţie:
Limbajul C dispune de o bibliotecă matematică în care sunt incluse o serie de funcţii pentru
calculul valorilor funcţiilor elementare. Există o funcţie numită sqrt (cu prototipul double sqrt
(double);). Fişierul care conţine biblioteca matematică se numeşte math.h şi trebuie inclus în
fişierul sursă de lucru dacă se doreşte utilizarea funcţiilor definite în el.