calloc(…) allocates a block of memory for an array of elements of a certain size. By default the block is initialized to 0. The total number of memory allocated will be (number_of_elements * size).
malloc(…) takes in only a single argument which is the memory required in bytes. malloc(…) allocated bytes of memory and not blocks of memory like calloc(…).
malloc(…) allocates memory blocks and returns a void pointer to the allocated space, or NULL if there is insufficient memory available.
calloc(…) allocates an array in memory with elements initialized to 0 and returns a pointer to the allocated space. calloc(…) calls malloc(…) in order to use the C++ _set_new_mode function to set the new handler mode.