This is the form of malloc that pretty much no one uses. It takes two size_t args, and is equivalent to doing a malloc of the first arg times the second. The memory is set to zero.
int *foo = calloc( 5, sizeof(int) );
/* an array of 5 integers */
Most people don't use
this, and instead
int *foo = malloc( 5*sizeof(int) );
See also: malloc