Alocarea Dinamica A Memoriei Pointeri

Extras din referat Cum descarc?

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.
x=3 este identica cu: *p=3. In 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 in p.
Operatorul unar * are aceeasi prioritate ca si ceilalti operatori unari din C si se asociaza de la dreapta spre stanga.
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 inceput a unei zone de memorie care contine o data de tipul tip, atunci vom spune ca p pointeaza spre tip.
In legatura cu notiunea de pointer, in limba romana se utilizeaza si alte denumiri: referinta localizator reper indicator de adresa 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 * il 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 in 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.
In general, un pointer se declara prin: tip *nume ceea ce inseamna ca nume este un pointer care pointeaza spre o zona de memorie ce contine o data de tipul tip.
Legatura dintre pointeri si tablouri Numele unui tablou este un pointer deoarece el are ca valoare adresa primului sau element. Totusi exista o diferenta intre numele unui tablou si o variabila de tip pointer.
Unei variabile de tip pointer i se atribuie valori la executie, in timp ce aceasta nu e posibil sa se realizeze pentru numele unui tablou. Acesta tot timpul are ca valoare adresa primului sau element. De aceea se obisnuieste sa se spuna ca numele unui tablou este un pointer constant.
Operatii cu pointeri Operatii de incrementare si decrementare Operatorii + + si - - se pot aplica la operanzi de tip pointer.
Ei se executa altfel decat asupra datelor care nu sunt pointeri.
Operatorul de incrementare (+ +) aplicat unui operand de tip pointer spre tipul t, mareste adresa ...


Fisiere in arhiva (1):

  • Alocarea Dinamica A Memoriei Pointeri
    • Referat.doc

Imagini din acest proiect Cum descarc?

Descarca gratuit aceast referat (0 €)

Completezi numele, prenumele și adresa de email. După aceea primesti prin email link-ul pentru descărcare. Completeaza o adresă de email validă.

1. Numele, Prenumele si adresa de email:

Daca nu gasesti email-ul, verifica si directoarele spam, junk sau toate mesajele.



Hopa sus!