Dynamic Memory Allocation in C: Malloc(), Calloc(), Realloc(), Free()
What is Dynamic Memory Allocation?
Dynamic memory allocation lets a program request memory at runtime from the heap, rather than fixing sizes at compile time.
The Four Key Functions
malloc()— allocates a block of uninitialized memory.calloc()— allocates memory for multiple elements and initializes it to zero.realloc()— resizes previously allocated memory.free()— releases memory back to the system once it's no longer needed.
int *arr = (int*) malloc(5 * sizeof(int));
arr = (int*) realloc(arr, 10 * sizeof(int));
free(arr);
Why It Matters
Dynamic allocation lets programs work with data structures — like linked lists and dynamic arrays — whose size isn't known until the program runs. Forgetting free() leads to memory leaks.
PreviousHow to Dynamically Allocate Memory using malloc() in C?
Next Difference Between Structure and Union in C Language
Ready to master real-world C Programming development?
Learn C Programming hands-on with mentor-led, live sessions.
.png)