Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Forma generala a unei functii

c



+ Font mai mare | - Font mai mic



Forma generala a unei functii

Principalul mijloc prin care se pot modulariza programele C este oferit de conceptul de functie (unele functii standard au fost deja folosite pentru diverse operatii). In C orice functie 'intoarce' (returneaza), dupa apel, o valoare al carui tip trebuie cunoscut. In practica, insa, de multe ori valorile returnate de functii sunt ignorate. Standardul limbajului C permite chiar declararea explicita a functiilor care nu returneaza valori ca fiind de tip void.



In C o functie poate fi definita, declarata si apelata.

Definirea unei functii C se realizeaza dupa urmatorul format general:

tip nume_functie (lista_parametri)

declaratii_parametri

sau, o forma mai noua adoptata de ANSI-C in 1989:

tip nume_functie (declaratii _parametri)

Tipul unei functii corespunde tipului valorii pe care functia o va returna utilizand instructiunea return. Acesta poate fi un tip de baza (char, int, float, double etc.) sau un tip derivat (pointer, structura etc.).

Daca pentru o functie nu se specifica nici un tip, atunci, implicit se considera ca functia intoarce o valoare intreaga.

Lista parametrilor, lista_parametri, este o lista de nume de variabile separate prin virgula care vor primi valorile argumentelor in momentul apelarii acesteia. Tipul acestor parametri este descris fie in paragraful declaratii_parametri, fie direct in lista parametrilor. Lista parametrilor este inchisa intre paranteze. Chiar daca o functie nu are parametri, parantezele nu trebuie sa lipseasca.

De exemplu, functia max(a, b), care returneaza cel mai mare dintre numerele intregi a si b, se poate defini sub forma:

int max(a, b) sau int max(int a, int b)

int a, b;

}

In cazul in care tipul parametrilor formali ai unei functii nu se declara, atunci ei sunt considerati implicit de tip int. In cazul compilatoarelor moderne, programul urmator va genera doua avertismente.

Exemplu:

# include <stdio.h>

float max(); // Prototipul functiei max()

float x;

void main()

float max(a, b)

float a, b;

In urma compilarii va rezulta:

Compiling

test.c

C:cpp_examplestest.c(11): warning C4244: 'return': conversion from 'int' to 'float', possible loss of data

C:cpp_examplestest.c(13): warning C4244: 'return': conversion from 'int' to 'float', possible loss of data

test.obj - 0 error(s), 2 warning(s)

Aceste avertismente sunt generate deoarece, la primul pas al compilarii, la parcurgerea liniei de declarare a functiei:

float max(a,b)

parametrii formali a si b sunt considerati de tip intreg.

Programul, modificat ca mai jos, va duce la o compilare fara probleme:

Exemplu:

# include <stdio.h>

float max();

float x;

void main()

float max(float a, float b)

Tot corect va rula si programul:

# include <stdio.h>

int max();

int x;

void main()

int max(a,b)

Se observa ca nu mai este nevoie de declararea explicita a parametrilor formali de tip intreg a si b.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1089
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved