Con il termine di garbage collection, letteralmente “raccolta dei rifiuti” si intende la liberazione delle porzioni di memoria allocate, ma non più utilizzate. Le aree di memoria liberate tornano così ad essere nuovamente disponibili.

Con il sistema Gargabe Collector intendiamo dunque quel meccanismo a runtime che si occupa di ricercare le aree di memoria non più utilizzate e di renderle nuovamente utilizzabili.

Questo meccanismo è utile quando si dichiarano le variabili in modo dinamico, in quanto non si conosce esattamente l’inizio o la fine.

Nelle variabili statiche invece si conosce esattamente il tempo di vita e può essere determinato all’atto di compilazione del codice sorgente.

Garbage collection in C

In C non esiste un vero e proprio Gargabe Collector che verifichi quando un oggetto può essere de-allocato. Quindi deve essere il programmatore a decidere quando effettuare la de-allocazione.

In molti linguaggio di programmazione invece, come ad esempio Java e Phyton, il sistema del garbage collection è direttamente integrato nell’ambiente di esecuzione.

Banner Pubblicitario

Quindi, come facilmente intuibile, uno dei vantaggi consiste nel fatto che il programmatore non si deve preoccupare di richiedere o rilasciare aree di memoria. Ma uno degli svantaggi principali è che si consumano maggiormente risorse di calcolo.

Abbiamo introdotto il concetto di garbage collection in C, nella prossima lezione parleremo della funzione free, utile per liberare la memoria precedentemente allocata.

Alcuni link utili

Indice tutorial linguaggio C

Realizzare un menù di scelta in C

Strutture complesse in C

Typedef struct C

Banner pubblicitario

Media per riga e per colonna

Somma elementi diagonale principale di una matrice

Come sommare gli elementi della cornice esterna

Come sommare due matrici

Matrice trasposta

Prodotto tra matrici

Ricerca elementi in una matrice

Inserire dati in una matrice

Tavola pitagorica in C

Array multidimensionali

Media dei numeri in un array

Array con numeri random

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C