.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" This file can be distributed under the terms of the GNU General Public .\" License. .\" Modified Sat Jul 24 19:00:59 1993 by Rik Faith (faith@cs.unc.edu) .TH MALLOC 3 "April 4, 1993" "GNU" "Linux Programmer's Manual" .SH NAME calloc, malloc, free, realloc \- Allocate and free dynamic memory .SH SYNOPSIS .nf .B #include .sp .BI "void *calloc(size_t " "nmemb" ", size_t " "size" ");" .nl .BI "void *malloc(size_t " "size" ");" .nl .BI "void free(void " "*ptr" ");" .nl .BI "void *realloc(void " "*ptr" ", size_t " "size" ");" .fi .SH DESCRIPTION .B calloc() allocates memory for an array of .I nmemb elements of .I size bytes each and returns a pointer to the allocated memory. The memory is set to zero. .PP .B malloc() allocates .I size bytes and returns a pointer to the allocated memory. The memory ist not cleared. .PP .B free() frees the memory space pointed to by .IR ptr , which must have been returned by a previous call to .BR malloc() , .B calloc() or .BR realloc() . If .I ptr is .BR NULL , no operation is performed. .PP .B realloc() changes the size of the memory block pointed to by .I ptr to .I size bytes. The contents will be unchanged to the minimum of the old an new sizes; newly allocated memory will be uninitialized. If .I ptr is .BR NULL , the call is equivalent to .BR malloc(size) ; if size is equal to zero, the call is equivalent to .BI "free(" "ptr" ) . Unless .I ptr is .BR NULL , it must have been returned by an earlier call to .BR malloc() , .BR calloc() or .BR realloc() . .SH "RETURN VALUES" For .BR calloc() " and " malloc() , the value returned is a pointer to the allocated memory, which is suitably aligned for any kind of variable, or .B NULL if the request fails. .PP .B free() returns no value. .PP .B realloc() returns a pointer to the newly allocated memory, which is suitably aligned for any kind of variable and may be different from .IR ptr , or .B NULL if the request fails or if size was equal to 0. .SH "CONFORMS TO" ANSI - C .SH SEE ALSO .BR brk (2)