Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


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


Apelul functiilor

c

+ Font mai mare | - Font mai mic





DOCUMENTE SIMILARE

Trimite pe Messenger
Instructiunea do-while
Memoria partajata
Implementarea grafurilor cu ajutorul matricei de adiacenta
PROGRAMARE IN C
Nume de variabile
APLICATII STRUCTURI
Liste circulare
Ponderea si ordinea de evaluare
Operatii cu liste liniare dublu inlantuite
Cauta minimul elementelor negative din lista

TERMENI importanti pentru acest document

Apelul functiilor

Apelul unei functii inseamna referirea functiei, impreuna cu valorile actuale ale parametrilor formali, precum si preluarea valorii returnate, daca este necesar. La apelul functiei, tipul argumentelor trebuie sa fie acelasi cu cel al tipului parametrilor formali ai functiei.




Daca apar nepotriviri de tip (de exemplu, parametrul formal al functiei este de tip int, iar apelul functiei foloseste un argument de tip float) de obicei, compilatorul C nu semnalizeaza eroare, dar rezultatul poate fi incorect.

In C transmiterea argumentelor de la functia apelanta spre functia apelata se face prin valori sau prin adrese.

a) In cazul transmiterii argumentului prin valoare, se realizeaza copierea (atribuirea) valorilor fiecarui argument in (la) cate un parametru formal al functiei apelate.

Exemplu Se apeleaza o functie ce calculeaza patratul unui numar intreg.

# include <stdio.h>

square(); // Prototipul functiei sqrt()

void main(void)

square(x) // Se declara functia sqrt()

int x;

Se observa ca prin aceasta metoda, schimbarile survenite asupra parametrului formal x nu afecteaza variabila utilizata pentru apelul functiei (schimbarile lui x nu modifica in nici un fel pe t).

b) Daca transmiterea argumentului se realizeaza prin adrese, atunci la apelul functiei in loc de valori se folosesc adrese, iar in definitie, parametrii formali se declara ca pointeri.



Exemplu: O functie swap() care schimba valorile a doua variabile reale se poate defini astfel:

void swap(float *x, float *y)

Se observa ca parametrii formali ai functiei swap() sunt pointeri la float. Programul urmator arata modul de apel al acestei functii.

# include <stdio.h>

void swap(float *x,float *y);

void main(void)

Prin &x si &y, programul transfera adresele lui x si y functiei swap() si nu valorile lui x si y.

Un apel combinat, valoare-referinta este prezentat in exemplul urmator:

# include <stdio.h>

void f();

void main (void)

void f(int val, int *ref)






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 749
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 2021 . All rights reserved

Distribuie URL

Adauga cod HTML in site