tas

L’allocation dynamique dans le tas

A côté des objets déclarés (statiques ou dynamiques), il y a ceux créés dynamiquement, suite à l’appel par le programmeur des fonctions calloc et mallloc, dans une zone de mémoire, appelée tas (ou heap). On accède à ces objets obligatoirement via des pointeurs.

Le tas est utilisé pour la construction de structure de données complexes (listes, arbres, ensembles, …) dont on ne connaît pas a priori le nombre d’éléments. Les tableaux, de taille fixe, ne permettent pas de les construire.

Le langage C comporte des fonctions comme malloc et calloc (via la bibliothèque standard C) pour allouer de la mémoire, et une fonction free (dangereuse d’emploi) pour libérer cette mémoire.

La maladie du tas est la fragmentation. Au fil des allocations et libérations, on peut se retrouver avec de la place libre, mais fragmentée en petits morceaux de taille insuffisante.

» Glossaire du langage C