Sommairement la Heap est un bloc de mémoire réservé pour y allouer et désallouer dynamiquement.
Exemple, si t´as un Heap Overflow, c´est que tu demande trop à allouer, et il n´y a plus assez de place dans le Heap.
Cepandant prend garde à l´idée que seul tes mallocs et autres new vont aller tripotter le Heap:
Il se peut(ça dépend des OS) que le Kernel lui même ait son Heap, et ainsi ton programme est un bloc mémoire dynamiquement alloué pour lui. En gros, tu(ton programme...) est dans SON Heap, et à l´intérieur même de son Heap il y a TON Heap
.
Je sais pas si tu me suis? Y´a généralement plusieurs Heap, et il te spécifie jamais c,est lequel en plus... ralalah, la galère 
Sauf que règle générale considère c´est le tien.
Enfin bon généralement si ça emmerde sur le Heap, c´est que t,a un problème de mémoire. Ton programme peut être trop gros pour le Heap du Kernel(essaie de faire un tableau de int [50000][50000] en C/C++ pour voir
) , autrement ça a probablement rapport avec ton allocation dynamique: t´alloue ptêt trop avec malloc/new...
M´enfin ça dépend des cas hein ; )
Kelios
---------