The malloc() function allocates size bytes and returns a pointer to the allocated memory. The memory is not initialized.
The calloc() function allocates memory for an array of nmemb elements of size bytes each and returns a pointer to the allocated memory. The memory is set to zero.