Pointeri
Notiunea de pointer
Pointerii au fost introdusi in limbajele de programare pentru a putea rezolva mai eficient anumite probleme sau pentru a da mai multa claritate anumitor programe.
O prima definitie poate fi urmatoarea:
Pointerul este o variabila ce contine adresa unui obiect.
Obiectul a carei adresa este retinuta de pointer poate fi:
variabila
functie
Fie urmatorul exemplu:
int x;
int *px;
Am definit o variabila de tip intreg x si o variabila pointer, care poate contine adresa unei variabile de tip intreg. Simbolul * ce apare in stanga variabilei px arata ca px este o variabila pointer.
Prin atribuirea
px=&x;
pointerul va avea ca valoare adresa de memorie alocata variabilei x (vezi laboratorul nr.1, definitia variabilei). Operatorul unar & este utilizat pentru a se obtine adresa variabilei x (operator unar=are un singur operand)
Acum putem sa lucram cu continutul variabilei x (i.e cu valoarea acesteia) prin intermediul pointerului px, deci indirect, fara sa mai folosim variabila x. La prima vedere, aceasta modalitate de lucru poate parea dificila si nu tocmai utila. Necesitatea utilizarii pointerilor va apare cu mai multa claritate in sectiunea dedicata sirurilor de caractere si functiilor.
Exemplul 1. Fie programul urmator:
#include
void main()
{
int x,y;
int *px;
coutx;
couty;
px=&x;
cout