Heap

Dans certains langages de programmation, comme le C ou le Pascal, un heap est une zone de la mémoire principale de l'ordinateur qui peut être utilisée par un programme pour stocker des données. La quantité ne sera pas connue avant l'exécution du programme. Un programme peut accepter des entrées de différents utilisateurs et les traiter toutes en même temps. Il est plus facile d'utiliser le stockage en tas dont disposent déjà les systèmes d'exploitation et cela fonctionne plus rapidement que de le demander à chaque fois. Il gère son tas en demandant un morceau (appelé bloc de tas) chaque fois qu'il en a besoin. Lorsque le tas est plein, le processus retourne les blocs vides et effectue un ramassage occasionnel des déchets. Cela permet de rendre disponibles les blocs qui ont été utilisés, mais aussi d'organiser le tas pour s'assurer qu'il n'y a pas de bits inutilisés. Le terme est apparemment inspiré d'un autre terme, pile . Une pile est similaire à un tas, sauf que les blocs sont sortis du stockage dans un certain ordre et retournés de la même manière. En Pascal, un sous-pile est une partie d'un tas qui est traitée comme une pile.