definitie : Un pointer este un tip de data a carei valoare este o adresa de
memorie.(Adresa de memorie reprezinta reprezinta numarul de ordine al unui octet din memoria calculatorului). [retine adresa unei variabile] Obs : adresa unei variabile != valoarea variabilei
Declararea unui pointer.
Sintaxa : tipul_variabilei *nume; exemplu : int *p; // valoareap este un pointer care va retine adresa unei variabile de tip int. float *p; char *p; Operatiile de referentiere, deferentiere !.Operatia de referrntiere : permite obtinerea adresei unei variabile cu ajutorul operatorului de referntiere & rezultatul acestei operatii va fi o adresa EX : int x, *p; cout << &x; -> adresa variabilei x; p=&x; cout << p; -> adresa variabilei x; 2. Operatia de deferentiere : operator : *, cu ajutorul lui poate fi obtinuta valoarea unei variabile cu adresa memorata int-un pointer. ex : int x=10, *p; p=&x; *p=20; cout << x; se afiseaza : 20;
Exemple : int *p, a=5, b;
p=&a; -> p ia valoarea adresei lui a b=*p; -> b ia valoarea valorii stocate in p; b=*p+1; -> b ia aceeasi valoare +1 cout << b;
Pointeri si vectori
Numele unui vector reprezinta un pointer spre primul elemnt din vector, cu indicele 0. int v[20], *p; p=v ; //p va retine adresa lui v[0];
Obs : operatiile de adunarea si scadere cu un intreg la un pointer au ca effect
deplasarea cu n octeti la dreapta, respectiv la stanga DIFERENTA DINTRE DOI POINTERI REPREZINTA DISTANTA DINTRE DOI POINTERI