COHERENT manpages
This page displays the COHERENT manpage for calloc() [Allocate dynamic memory].
List of available manpages
Index
calloc() -- General Function (libc)
Allocate dynamic memory
#include <stdlib.h>
char *calloc(count, size)
unsigned count, size;
The function calloc() is one of a set of routines that helps manage a
program's arena. calloc() calls malloc() to obtain a block large enough to
contain count items of size bytes each; it then initializes the block to
zeroes. When this memory is no longer needed, you can return it to the
free pool by using the function free().
calloc() returns the address of the chunk of memory it has allocated, or
NULL if it could not allocate memory.
Example
This example attempts to calloc() a small portion of memory; it then
reallocates it to demonstrate realloc().
#include <stdio.h>
#include <stdlib.h>
main()
{
register char *ptr, *ptr2;
extern char *calloc(), *realloc();
unsigned count, size;
count = 4;
size = sizeof(char *);
if ((ptr = calloc(count, size)) != NULL)
printf("%u blocks of size %u calloced\n",
count, size);
else
printf("Insuff. memory for %u blocks of size %u\n",
count, size);
if ((ptr2 = realloc(ptr,(count*size) + 1)) != NULL)
printf("1 block of size %u realloced\n",
(count*size)+1);
}
See Also
alloca(),
arena,
free(),
libc,
malloc(),
memok(),
realloc(),
setbuf(),
stdlib.h
ANSI Standard, §7.10.3.1
POSIX Standard, §8.1
Notes
The function alloca() allocates space on the stack. The space so allocated
does not need to be freed when the function that allocated the space exits.