Both malloc() and calloc() are used for dynamic memory allocation.
malloc() is used to allocate a single block of memory.
calloc() is used to allocate multiple block of memory.
malloc() leaves the memory uninitialized whereas calloc() initializes it with 0.
malloc() takes single argument whereas calloc() takes two arguments.
calloc() is slightly less efficient then malloc( ).