Malloc Vs. Calloc in C.
malloc(size_t bytes): Allocates a single contiguous block of memory of exactly bytes bytes. The contents are indeterminate (whatever happened to be in that memory before).
calloc(size_t nmemb, size_t size): Allocates space for an array of nmemb elements, each of size bytes, for a total of nmemb * size bytes, and initializes every bit to zero.