|
Pointeri
1. 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:
1. variabila
2. 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;
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
px=&x;
cout<<"x are valoarea "<<*px;
*px=y;
cout<<"\nx a devenit "<
|