NAME
calloc — a memory
allocator
SYNOPSIS
#include <stdlib.h> void *calloc(size_t nelem, size_t elsize);
DESCRIPTION
The calloc() function allocates unused space for an array of nelem elements each of whose size in bytes is elsize . The space is initialised to all bits 0.
The order and contiguity of storage allocated by successive calls to calloc() is unspecified. The pointer returned if the allocation succeeds is suitably aligned so that it may be assigned to a pointer to any type of object and then used to access such an object or an array of such objects in the space allocated (until the space is explicitly freed or reallocated). Each such allocation will yield a pointer to an object disjoint from any other object. The pointer returned points to the start (lowest byte address) of the allocated space. If the space cannot be allocated, a null pointer is returned. If the size of the space requested is 0, the behaviour is implementation-dependent; the value returned will be either a null pointer or a unique pointer.
RETURN VALUE
Upon successful completion with both nelem and elsize non-zero, calloc() returns a pointer to the allocated space. If either nelem or elsize is 0, then either a null pointer or a unique pointer value that can be successfully passed to free(3) is returned. Otherwise, it returns a null pointer and sets errno to indicate the error.
ERRORS
The calloc() function will fail if:
- [ENOMEM]
- Insufficient memory is available.
EXAMPLES
None.
APPLICATION USAGE
There is now no requirement for the implementation to support the inclusion of <malloc.h> .
FUTURE DIRECTIONS
None.
SEE ALSO
free(3) , malloc(3) , realloc(3) , <stdlib.h> .
DERIVATION
Derived from Issue 1 of the SVID.