Rezumat(pointeri,alocare dinamica si statica pentru vector si matrice)


Un pointer reţine o adresă de memorie la care se află memorată o anumită dată (un întreg,
un număr real etc.). Pentru a obţine valoarea de la adresa reţinută în pointer se aplică operatorul *
pointerului. Pentru a obţine adresa la care se află memorie alocată pentru o variabilă folosim
operatorul &.
Alocarea dinamică a memoriei în C se face cu ajutorul funcţiilor calloc, malloc şi
realloc, ale căror antete se găsesc în fişierul malloc.h. Eliberarea memoriei alocate dinamic în C
se face cu ajutorul funcţiei free.
În C putem aloca memorie pentru un tablou (vector, matrice etc.) atât în mod static cât şi
dinamic (în timpul rulării aplicaţiei). Alocarea dinamică a memoriei pentru o matrice
bidimensională se face în două etape: întâi alocăm memorie pentru a reţine adresele de început
ale liniilor matricei şi apoi alocăm memorie pentru a reţine elementele matricei. În consecinţă,
eliberarea memoriei se face tot în două etape, dar în ordine inversă: eliberăm întâi memoria
alocată anterior dinamic pentru a reţine elementele matricei şi apoi eliberăm memoria ocupată de
vectorul de adrese de început a liniilor matricei.

0 comentarii:

Trimiteți un comentariu