Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Alocarea dinamica a memoriei

c


Alocarea dinamica a memoriei

Nume



calloc malloc realloc - aloca memoria in mod dinamic

free - elibereaza memoria alocata in mod dinamic

Declaratie

#include <stdlib.h>

void *calloc(unsigned nel, unsigned size);

void *malloc(unsigned size);

void *realloc(void *ptr, unsigned size);

void free(void *ptr);

Descriere

Functia calloc aloca memorie pentru un tablou de nel elemente, fiecare de marime size octeti si returneaza un pointer la memoria alocata. Continutul memoriei este pus la zero.

Functia malloc aloca size octeti si returneaza un pointer la memoria alocata. Continutul memoriei nu este sters.

Functia free elibereaza spatiul de memorie indicat de ptr, care trebuie sa fi fost returnat de un apel anterior malloc calloc sau realloc. In caz contrar, sau daca a existat deja un apel anterior free(ptr), comportamentul programului este imprevizibil.

Functia realloc schimba marimea blocului de memorie indicat de ptr la size octeti. Continutul ramine neschimbat la marimea minima dintre marimea veche si cea noua; noul spatiu de memorie care este eventual alocat este neinitializat. Daca ptr este NULL apelul este echivalent cu malloc(size); daca size este egal cu zero apelul este echivalent cu free(ptr). Cu exceptia cazului cind ptr este NULL, acesta trebuie sa fi fost returnat de un apel precedent malloc calloc sau realloc

Valori returnate

Pentru calloc si malloc valoarea returnata este un pointer la memoria alocata, care este aliniata in mod corespunzator pentru orice tip de variabile, sau NULL daca nu exista suficienta memorie continua.

Functia free nu returneaza nimic.

Functia realloc returneaza un pointer la noua zona de memorie alocata, care este aliniata in mod corespunzator pentru orice tip de variabile, si poate fi diferita de ptr, sau poate fi NULL daca nu exista suficienta memorie continua sau daca valoarea size este egala cu . Daca realloc esueaza, blocul original ramine neatins - nu este nici eliberat nici mutat.



Document Info


Accesari: 481
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )