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




Pointeri si adrese

c


Pointeri si adrese

Deoarece un pointer contine adresa unui obiect, cu ajutorul lui putem avea acces, in mod indirect, la acea variabila (obiect).

Sa presupunem ca x este o variabila de tip 646d34g intreg si px un pointer la aceasta variabila. Atunci aplicind operatorul unar & lui x, instructiunea:



px = &x;

atribuie variabilei px adresa variabilei x; in acest fel spunem ca px indica (pointeaza) spre x

Invers, daca px contine adresa variabilei x, atunci instructiunea:

y = *px;

atribuie variabilei y continutul locatiei pe care o indica px

Evident toate variabilele care sint implicate in aceste instructiuni trebuie declarate. Aceste declaratii sint:

int x,y;

int *px;

Declaratiile variabilelor x si y sint deja cunoscute. Declaratia pointerului px este o noutate. A doua declaratie indica faptul ca o combinatie de forma *px este un intreg, iar variabila px care apare in contextul *px este echivalenta cu un pointer la o variabila de tip intreg. In locul tipului intreg poate aparea oricare dintre tipurile admise in limbaj si se refera la obiectele pe care le indica px

Pointerii pot aparea si in expresii, ca de exemplu in expresia urmatoare:

y = *px + 1;

unde variabilei y i se atribuie continutul variabilei x plus

Instructiunea:

d = sqrt((double)*px);

are ca efect convertirea continutului variabilei x pe care o indica px in tip double si apoi depunerea radacinii patrate a valorii astfel convertite in variabila d

Referiri la pointeri pot aparea de asemenea si in partea stinga a atribuirilor. Daca, de exemplu, px indica spre x, atunci:

*px = 0;

atribuie variabilei x valoarea zero, iar:

*px += 1;

incrementeaza continutul variabilei x cu , ca si in expresia:

(*px)++;

In acest ultim exemplu parantezele sint obligatorii deoarece, in lipsa lor, expresia ar incrementa pe px in loc de continutul variabilei pe care o indica (operatorii unari au aceeasi precedenta si sint evaluati de la dreapta spre stinga).



Document Info


Accesari: 339
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 )