The calloc() Function

The calloc() Function

The standard C library declares the function calloc() in as follows:

 void *calloc(size_t elements, size_t sz);

calloc() allocates space for an array of elements, each of which occupies sz bytes of storage. The space of each element is initialized to binary zeros. In other words, calloc() is similar to malloc(), except that it handles arrays of objects rather than a single chunk of storage and that it initializes the storage allocated. The following example allocates an array of 100 int’s using calloc():

 int * p = (int*) calloc (100, sizeof(int));

Remember that in C++, you have better alternatives to calloc() and malloc(), namely new and new [], and that these C functions should only be used for allocating POD (Plain Old Data) objects; never class objects. However, if you’re using C or maintaining legacy C code, you might get across this function.


Share the Post: