This is a very interesting and interviewers favourite for C
both are memory allocation functions
malloc is system call
calloc is c library call
when malloced the memory is uninitialised
when calloced the memory is initialised to all 0's
For malloc we specify the number of bytes
for calloc we specify the number * datatype.