Difference Between malloc() and calloc()

Malloc() VS Calloc(): Explore the Difference between malloc() and calloc()

malloc() and calloc() functions are used for dynamic memory allocation in the C programming language. The main difference between the malloc() and calloc() is that calloc() always requires two arguments and malloc() requires only one.

What is malloc()?

The malloc is also known as the memory allocation function. malloc() dynamically allocates a large block of memory with a specific size. It returns a void type pointer and is cast into any form.

What is calloc()?

The calloc() function allocates a specific amount of memory and initializes it to zero. The function can be cast to the desired type when it returns to a void pointer to the memory location.

Difference between malloc() and calloc()





malloc() function creates a single block of memory of a specific size.

calloc() function assigns multiple blocks of memory to a single variable.


The number of arguments in malloc() is 1.

The number of arguments in calloc() is 2.


malloc() is faster.

calloc() is slower.


malloc() has high time efficiency.

calloc() has low time efficiency.


The memory block allocated by malloc() has a garbage value.

The memory block allocated by calloc() is initialized by zero.


malloc() indicates memory allocation.

calloc() indicates contiguous allocation.

Keep learning and stay tuned to get the latest updates on the GATE Exam along with GATE Preparation Books & GATE Answer Key and more.

Leave a Comment

Your Mobile number and Email id will not be published.