Back to Course
Pointers & Memory

How to Dynamically Allocate Memory using calloc() in C?

What is calloc()?

calloc() (contiguous allocation) allocates memory for an array of elements and initializes all bytes to zero.

Syntax

void* calloc(size_t numElements, size_t elementSize);

Example

int *arr = (int*) calloc(5, sizeof(int));
if (arr == NULL) {
    printf("Memory allocation failed");
}
// all 5 elements are initialized to 0
free(arr);

calloc() vs malloc()

  • calloc() initializes memory to zero; malloc() leaves it uninitialized.
  • calloc() takes two arguments (count and size); malloc() takes only total size.

Ready to master real-world C Programming development?

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

Explore Course