allocate space for an array
#include <stdlib.h> /* For ANSI compatibility (calloc only) */ #include <malloc.h> /* Required for other function prototypes */ void *calloc ( size_t n, size_t size ); void __based (void) *_bcalloc ( __segment seg, size_t n, size_t size ); void __far *_fcalloc ( size_t n, size_t size ); void __near *_ncalloc ( size_t n, size_t size );
The calloc() functions allocate space for an array of n objects, each of length size bytes. Each element is initialized to 0.
Each function allocates memory from a particular heap, as listed below:
In a small data memory model, calloc() is equivalent to _ncalloc(); in a large data memory model, calloc() is equivalent to _fcalloc().
A block of memory allocated with one of the calloc() functions should be freed using the corresponding free() function. |
A pointer to the start of the allocated memory, or NULL (_NULLOFF for _bcalloc()) if there isn't sufficient memory available or if the value of the size argument is zero.
#include <stdlib.h> int main( void ) { char *buffer; buffer = (char *)calloc( 80, sizeof(char) ); return( EXIT_SUCCESS ); }
Safety: | |
---|---|
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
_expand, free, halloc(), hfree(), malloc, _msize, realloc, sbrk()