Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

Unix Version 7 - man page for malloc (v7 section 3)

MALLOC(3)			     Library Functions Manual				MALLOC(3)

       malloc, free, realloc, calloc - main memory allocator

       char *malloc(size)
       unsigned size;

       char *ptr;

       char *realloc(ptr, size)
       char *ptr;
       unsigned size;

       char *calloc(nelem, elsize)
       unsigned nelem, elsize;

       Malloc  and  free  provide  a  simple  general-purpose  memory allocation package.  Malloc
       returns a pointer to a block of at least size bytes beginning on a word boundary.

       The argument to free is a pointer to a block previously allocated by malloc; this space is
       made available for further allocation, but its contents are left undisturbed.

       Needless  to say, grave disorder will result if the space assigned by malloc is overrun or
       if some random number is handed to free.

       Malloc allocates the first big enough contiguous reach of free space found in  a  circular
       search  from  the  last	block  allocated  or freed, coalescing adjacent free blocks as it
       searches.  It calls sbrk (see break(2)) to get more memory from the system when	there  is
       no suitable space already free.

       Realloc	changes  the  size  of	the  block  pointed to by ptr to size bytes and returns a
       pointer to the (possibly moved) block.  The contents will be unchanged up to the lesser of
       the new and old sizes.

       Realloc	also  works if ptr points to a block freed since the last call of malloc, realloc
       or calloc; thus sequences of free, malloc and realloc can exploit the search  strategy  of
       malloc to do storage compaction.

       Calloc  allocates  space for an array of nelem elements of size elsize.	The space is ini-
       tialized to zeros.

       Each of the allocation routines returns a pointer to space suitably aligned (after  possi-
       ble pointer coercion) for storage of any type of object.

       Malloc, realloc and calloc return a null pointer (0) if there is no available memory or if
       the arena has been detectably corrupted by storing outside the bounds of a block.   Malloc
       may be recompiled to check the arena very stringently on every transaction; see the source

       When realloc returns 0, the block pointed to by ptr may be destroyed.


All times are GMT -4. The time now is 07:12 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password