Ominide 7993 punti

Gestione dinamica della memoria


Allocazione della memoria è la situazione quando un blocco di memoria RAM viene assegnata ad un determinato programma in run-time. In C ci sono tre classi di allocazione di memoria:
- L’allocazione automatica: per variabili con scope locale non static. La memoria è automaticamente allocata sullo stack e automaticamente deallocata al termine della funzione
- L’allocazione statica: per variabili globali e variabili locali dichiarate static, la memoria è allocata nel data segment e rilasciata al termine del programma
- L’allocazione dinamica: per memoria richiesta a run-time esplicitamente del programmatore usando funzioni di libreria.
Il blocco di memoria è allocato sullo heap
Il file header per la gestione dinamica della memoria e stdlib.h:
- Allocazione della memoria, occupare memoria:
-- Funzione di allocazione: malloc(), calloc(), che allocano byte contigui sull’heap
-- Restituiscono un puntatore void* al primo byte del blocco o NULL
- De allocazione della memoria, liberare memoria:
-- Funzione di de allocazione: free()
-- Rilascia memoria allocata usando malloc(), calloc(), realloc()
-- La memoria rilasciata può essere riutilizzata
- Modifica della dimensione di memoria
-- Funzione di modifica della dimensione: realloc()
-- Può essere usata per diminuire e aumentare la dimensione
Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Potrebbe Interessarti
×
Registrati via email