#1 India's Top IT Training Institute

×

About Uncodemy

Know more about who we are and what we stand for.

About Us

About Us

Discover our mission to equip individuals with essential IT skills and industry expertise.

Read More →
UnCodeMy Gallery

UnCodeMy Gallery

Explore highlights from our IT training sessions and success stories.

Read More →
×

Free Resources

Learn, practice and plan your career — bilkul free.

Tutorials

Tutorials

Step-by-step written tutorials to learn any technology at your own pace.

Read More →
Free Counselling

Free Counselling

Book a free video counselling session and pick the right course for you.

Read More →
Online Compiler

Online Compiler

Write, run and test your code online — no setup required.

Read More →
Pointers & Memory

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.

Ready to master real-world C Programming development?

Learn C Programming hands-on with mentor-led, live sessions.

Explore Course