referat utilitatea memoriei dinamice

2
Munteanu Ana-Maria CSIE, AN III, GRUPA 1096 Utilitatea memoriei dinamice Structurile de date reprezinta modalitati in care datele sunt dispuse in memoria calculatorului sau sunt pastrate pe discul magnetic. Structurie de date sunt utilizate in diferite circumstante ca de exemplu: • Memorarea unor date din realitate; • Instrumente ale programatorilor; • Modelarea unor situatii din lumea reala. Funcţii de alocare şi eliberare a memoriei: Funcțiile standard de alocare și de eliberare a memoriei sunt declarate în fişierul antet stdlib.h. void* malloc(size_t size); void* calloc(size_t nmemb, size_t size); void* realloc(void *ptr, size_t size); void free(void *ptr); Rezultatul celor trei funcţii de alocare este adresa zonei de memorie alocate (de tip void*) şi ca argument comun dimensiunea, în octeţi, a zonei de memorie alocate (de tip size_t ). Funcţiile de alocare au rezultat NULL dacă cererea de alocare nu poate fi satisfăcută pentru că nu mai există un bloc continuu de dimensiunea solicitată. Utilitatea modului de lucru cu structuri de date: Vectori alocaţi dinamic Structura de vector are avantajul simplităţii şi economiei de memorie faţă de alte structuri de date folosite pentru memorarea unei colectii de informaţii între care există anumite relaţii. Între cerinţa de dimensionare constantă a unui vector şi generalitatea programelor care folosesc astfel de vectori există o contradicţie. De cele mai multe ori programele pot afla (din datele citite) dimensiunile vectorilor cu care lucrează şi deci pot face o alocare dinamică a memoriei pentru aceşti vectori. Aceasta este o solutie mai flexibilă, care foloseşte mai bine memoria disponibilă şi nu impune limitări arbitrare asupra utilizării unor programe. În limbajul C nu există practic nici o diferenţă între utilizarea unui vector cu dimensiune fixă şi utilizarea unui vector alocat dinamic, ceea ce

Upload: seraphinn-anna

Post on 26-Sep-2015

216 views

Category:

Documents


4 download

DESCRIPTION

Utilitatea memoriei dinamice

TRANSCRIPT

Munteanu Ana-MariaCSIE, AN III, GRUPA 1096Utilitatea memoriei dinamice

Structurile de date reprezinta modalitati in care datele sunt dispuse in memoria calculatorului sau sunt pastrate pe discul magnetic. Structurie de date sunt utilizate in diferite circumstante ca de exemplu: Memorarea unor date din realitate; Instrumente ale programatorilor; Modelarea unor situatii din lumea reala.

Funcii de alocare i eliberare a memoriei: Funciile standard de alocare i de eliberare a memoriei sunt declarate n fiierul antetstdlib.h.void* malloc(size_t size);void* calloc(size_t nmemb, size_t size);void* realloc(void *ptr, size_t size);void free(void *ptr); Rezultatul celor trei funcii de alocare este adresa zonei de memorie alocate (de tip void*) i ca argument comun dimensiunea, n octei, a zonei de memorie alocate (de tipsize_t). Funciile de alocare au rezultatNULL dac cererea de alocare nu poate fi satisfcut pentru c nu mai exist un bloc continuu de dimensiunea solicitat.

Utilitatea modului de lucru cu structuri de date:Vectori alocai dinamic Structura de vector are avantajul simplitii i economiei de memorie fa de alte structuri de date folosite pentru memorarea unei colectii de informaii ntre care exist anumite relaii. ntre cerina de dimensionare constant a unui vector i generalitatea programelor care folosesc astfel de vectori exist o contradicie. De cele mai multe ori programele pot afla (din datele citite) dimensiunile vectorilor cu care lucreaz i deci pot face o alocare dinamic a memoriei pentru aceti vectori. Aceasta este o solutie mai flexibil, care folosete mai bine memoria disponibil i nu impune limitri arbitrare asupra utilizrii unor programe. n limbajul C nu exist practic nici o diferen ntre utilizarea unui vector cu dimensiune fix i utilizarea unui vector alocat dinamic, ceea ce ncurajeaz i mai mult utilizarea unor vectori cu dimensiune variabil.

Matrice alocate dinamic Alocarea dinamic pentru o matrice este important deoarece: -folosete economic memoria i evit alocri acoperitoare, estimative. -permite matrice cu linii de lungimi diferite -reprezint o soluie bun la problema argumentelor de funcii de tip matrice. Daca programul poate afla numrul efectiv de linii i de coloane al unei matrice (cu dimensiuni diferite de la o execuie la alta), atunci se va aloca memorie pentru un vector de pointeri (funcie de numrul liniilor) i apoi se va aloca memorie pentru fiecare linie (funcie de numrul coloanelor) cu memorarea adreselor liniilor n vectorul de pointeri. O astfel de matrice se poate folosi la fel ca o matrice declarat cu dimensiuni constante.

Bibliografie:Cursuri http://ocw.cs.pub.roCursuri si seminarii http://acs.ase.ro/data-structures