Operatorul de dereferențiere

După cum am precizat, o variabilă care reține adresa altei variabile se numește pointer (în engleză, to point înseamnă a indica, a arăta). Acest lucru se datorează faptului că acest tip de variabile indică spre variabila a cărei adresă o rețin. Pentru a obține acces la valoarea unei  variabile printr-un pointer se utilizează operatorul de dereferențiere. Să urmărim exemplul: int a=100, *pa, b; pa=&a; b=*pa; cout<<b; Variabila pointer pa primește ca valoare adresa variabilei a. Variabila b primește, prin intermediul acesteia valoarea către care indică valoarea reținută de ea.

Este necesar să facem diferență între conținutul variabilei pa, care este 0x28fef4, o adresă de memorie, adică și valoarea obținută prin sintaxa *pa, care este 5, fiind valoarea reținută de de variabila a, care este situată în memorie la adresa 0x28fef4

Putem afirma acum că operatorii de adresă (&), respectiv de dereferențiere (*) sunt complementari, având, oarecum, comportamente opuse.