Documente Academic
Documente Profesional
Documente Cultură
●Valoare x
●Adresa
●pointer
Tip_data *nume-pointer , unde tipul pointer ului este tipul de baza al datei de stocare la
adresa memorată de pointer.
" * " se numește operator de referință iar nume-pointer este identificatorul variabilei de
tip pointer.
Ex:
Int *a;
Float *r;
Char *q;
Int *p;
Cout <<sizeof(p);
-pointerii fără tip pot fi asociați oricărui tip de data și sunt utilizați pentru a putea reveni
la momente diferite,tipuri de baza diferite.
Pointer ul 0:
-spunem ca este un pointer în vânt. În loc de valoarea 0 putem oferi constanta simbolica
NULL.
{int a=10,p=&a;
cout<<a<<endl;
cout<<*p<<endl;
cout<<&a<<endl;
return 0;
Observatie:
{int a=10,b=20,*p=&a,*q=&b;
*q=*p;
cout<<a<<" "<<b<<endl;
cout<<*q<<" "<<*p<<endl;
return 0;
-la adresa referita de q vom inlocui valoarea variabilei retinute in b cu valoarea variabilei
a referita de p.
Observatie:
*p++;
Cum & este si operator de redirectare si operator de inmultire pentru a inmulti valori
memorate la 2 adrese de memorie indicate de 2 pointeri ,este obligatoriu sa folosim
paranteze.
Ex:
{int a,b=10,c=20,*p=&b,*q=&c;
a=(*p)*(*q);
cout<<a;
return 0;
{int *p,*q,S,p1,a,b;
p=&a;q=&b;
cout<<"a=";
cin>>*p;
cout<<"b=";
cin>>*q;
S=(*p)+(*q);
cout<<"S="<<S<<endl<<"P1="<<p1;
return 0;