CATEGORII DOCUMENTE |
Functii care returneaza valori neintregi
Daca nu se declara explicit tipul functiei, compilatorul C o va declara implicit de tip int. Pentru ca functia sa intoarca un tip diferit de int trebuie, pe de o parte, sa se precizeze un specificator de tip al functiei si apoi sa se identifice tipul functiei inaintea apelului acesteia.
O functie C poate returna orice tip de data din C. Declararea tipului este similara celei de la declararea tipului variabilei: specificatorul de tip ce precede functia indica tipul datei intoarse de functie. Pentru a nu se genera incertitudini datorate dimensiunii de reprezentare, inainte de utilizarea unei functii ce intoarce tipuri neintregi, tipul acestei functii trebuie facut cunoscut programului. Acest lucru este necesar deoarece compilatorul nu cunoaste tipul datei intoarse de functie si acesta va genera un cod gresit pentru apelul functiei. Pentru a preveni aceasta greseala, la inceputul programului se plaseaza o forma speciala de declaratie care sa precizeze compilatorului ce tip de valoare va returna acea functie. Aceasta declaratie se numeste prototipul functiei.
Exemplu:
# include <stdio.h>
float sum();//Prototipul functiei (fara parametri)
void main(void)
float sum(float a, float b) // Definitie sum()
//Se returneaza o valoare de tip float
Instructiunea de declarare a tipului functiei are forma generala:
specificator_de_tip nume_functie();
Chiar daca functia are argumente, in declaratia de tip acestea nu se precizeaza (cu exceptia compilatoarelor mai vechi de 1989, care nu sunt adaptate la cerintele ANSI-C).
Daca o functie ce a fost declarata int intoarce un caracter, calculatorul converteste valoarea caracter intr-un intreg. Deoarece conversiile caracter --> intreg-caracter sunt fara probleme, o functie ce intoarce un caracter poate fi definita ca o functie care intoarce un intreg.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 804
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved