We can dynamically manage memory by creating memory blocks as needed in the heap
In C Dynamic Memory Allocation, memory is allocated at a run time.
Dynamic memory allocation permits to manipulate strings and arrays whose size is flexible and can be changed anytime in your program.
It is required when you have no idea how much memory a particular structure is going to occupy.
Malloc() in C is a dynamic memory allocation function which stands for memory allocation that blocks of memory with the specific size initialized to a garbage value
Calloc() in C is a contiguous memory allocation function that allocates multiple memory blocks at a time initialized to 0
Realloc() in C is used to reallocate memory according to the specified size.
Free() function is used to clear the dynamically allocated memory.