Alocarea dinamica a memoriei - pointeri

Trimis la data: 2005-08-02 Materia: Informatica Nivel: Gimnaziu Pagini: 3 Nota: / 10 Downloads: 1931
Autor: Mirela_octa Dimensiune: 7kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Un pointer este o variabilă care are ca valori adrese. Pointerii se utilizează pentru a face referire la date cunoscute prin adresele lor. Astfel, dacă p este o variabilă de tip pointer care are ca valoare adresa lui x, atunci *p reprezintă chiar valoarea lui x.
Raporteaza o eroare

Un pointer este o variabila care are ca valori adrese. Pointerii se
utilizeaza pentru a face referire la date cunoscute prin adresele lor.
Astfel, daca p este o variabila de tip pointer care are ca valoare
adresa lui x, atunci *p reprezinta chiar valoarea lui x.

În constructia *p utilizata mai sus, caracterul * se considera ca
fiind un operator unar care furnizeaza valoarea din zona de memorie a
carei adresa este continuta în p.

Operatorul unar * are aceeasi prioritate ca si ceilalti operatori
unari din C si se asociaza de la dreapta spre stânga.

Daca p contine adresa zonei de memorie alocata lui x, vom spune ca p
pointeaza spre x. De asemenea, daca p are ca valoare adresa de început
a unei zone de memorie care contine o data de tipul tip, atunci vom
spune ca p pointeaza spre tip.

Pentru a atribui o adresa unei variabile de tip pointer se poate
folosi operatorul unar &. Astfel, daca dorim ca p sa pointeze spre
x(sa aiba ca valoare adresa lui x), atunci putem utiliza atribuirea:

p=&x.

Operatorul unar & este numit operator adresa sau de referentiere.
Operatorul unar * îl vom numi operator de inderectare sau de
dereferentiere. Ultima denumire decurge din efectul invers al acestuia
fata de operatorul unar &. Astfel, expresia:

*&x

are aceeasi valoare ca si operandul x.

Declaratia de pointeri si tipul pointer

Un pointer se declara ca orice variabila, cu singura deosebire ca
numele este precedat de caracterul *. Astfel, daca dorim sa declaram
variabila p utilizata mai sus pentru a pastra adresa lui x, vom folosi
declaratia:

int *p

Tipul int stabileste faptul ca p contine adrese de zone de memorie în
care se pastreaza date de tip int. Declaratia de mai sus se poate
interpreta astfel:

*p reprezinta continutul zonei de memorie spre care pointeaza p, iar
acest continut are tipul int.

În general, un pointer se declara prin:

tip *nume

ceea ce înseamna ca nume este un pointer care pointeaza spre o zona de
memorie ce contine o data de tipul tip.

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Filmele zilei
 
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10 Bacalaureat 2012 Vezi subiectele examenului de Bacalaureat din 2012 Rezultate Bacalaureat 2012 Aici se vor afisa rezultatele examenului de Bacalaureat 2012
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.