A malloc( ) function allocates a block of memory of the specified size and returns a pointer of specified data type whereas a calloc( ) function allocates a space for an array of elements , initializes them to zero and then returns a pointer to the memory.