malloc(): used to allocate required number of bytes in memory at runtime. It takes one argument, viz. size in
bytes to be allocated.
Syntax:
void * malloc(size_t size);Example:
a = (int*) malloc(4);4 is the size (in bytes) of memory to be allocated.
calloc(): used to allocate required number of bytes in memory at runtime. It needs two arguments viz.,
1. total number of data and
2. size of each data.
Syntax:
void * calloc(size_t nmemb, size_t size);Example:
a = (int*) calloc(8, sizeof(int));Here sizeof indicates the size of the data type and 8 indicates that we want to reserve space for storing 8 integers.
Differences between malloc() and calloc() are:
1. Number of arguments differ.2. By default, memory allocated by malloc() contains garbage values. Whereas memory allocated by calloc()contains all zeros.