Answer: Dynamic memory allocation in which memory is more explicitly (but more flexibly) managed, typically, by allocating it from the free store (informally called the “heap”), an area of memory structured for this purpose. In C, the library function malloc() is used to allocate a block of memory on the heap.
The program accesses this block of memory via a pointer that malloc() returns. When the memory is no longer needed, the pointer is passed to free which deallocates the memory so that it can be used for other purposes. Dynamic memory allocation is a manual memory management technique.
Sanfoundry Global Education & Learning Series – 1000 C Tutorials.