Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Pointeri si argumente de functii

c


Pointeri si argumente de functii

Deoarece in limbajul C transmiterea argumentelor la functii se face „prin valoare” (si nu prin referinta), funct 818e48i ia apelata nu are posibilitatea de a altera o variabila din functia apelanta. Problema care se pune este cum procedam daca totusi dorim sa schimbam un argument?



De exemplu, o rutina de sortare poate schimba intre ele doua elemente care nu respecta ordinea dorita, cu ajutorul unei functii swap. Fie functia swap definita astfel:

swap(int x, int y)

Functia swap apelata prin swap(a,b) nu va realiza actiunea dorita deoarece ea nu poate afecta argumentele a si b din rutina apelanta.

Exista insa o posibilitate de a obtine efectul dorit, daca functia apelanta transmite ca argumente pointeri la valorile ce se doresc interschimbate. Atunci in functia apelanta apelul va fi:

swap(&a,&b);

iar forma corecta a lui swap este:

swap(int *px, int *py)



Document Info


Accesari: 350
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )