Heap memory

Heap is the memory allocated in runtime during program execution. When memory is allocated using malloc or calloc for any pointer in a program, the size of the memory is allocated from the heap memory area and is assigned to the pointer. Until the pointer is freed using free the heap memory is used by the pointer variable.

See Memory Debuggers for tools that help analyze memory usage patterns, detect unbalanced allocations and frees, report buffer over- and under-runs, etc.