The heap is part of your process address space. The pile can be grown or cut; you control it by calling brk(2)or sbrk(2). This is what it does malloc(3).
, , ; , , funcA(), -; - funcA(). funcA() ( ), funcA() .
, , . , (, free() , malloc()), .
, // , , , , ; , , ; .