BSD 2.11 - man page for alloca (bsd section 3)

Linux & Unix Commands - Search Man Pages

Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


MALLOC(3)										MALLOC(3)

NAME
       malloc, free, realloc, calloc, alloca - memory allocator

SYNOPSIS
       char *malloc(size)
       unsigned size;

       free(ptr)
       char *ptr;

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

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

       char *alloca(size)
       int size;

DESCRIPTION
       Malloc  and  free  provide  a 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 maintains multiple lists of free blocks according to size,  allocating  space  from
       the  appropriate list.  It calls sbrk (see brk(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.

       In order to be compatible with older versions, realloc also works if ptr points to a block
       freed  since  the  last	call  of malloc, realloc or calloc; sequences of free, malloc and
       realloc were previously used to attempt storage compaction.  This procedure is  no  longer
       recommended.

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

       Alloca allocates size bytes of space in the stack frame of  the	caller.   This	temporary
       space is automatically freed on return.

       Each  of the allocation routines returns a pointer to space suitably aligned (after possi-
       ble pointer coercion) for storage of any type of object.  If the space is of  pagesize  or
       larger, the memory returned will be page-aligned.

SEE ALSO
       brk(2), pagesize(2)

DIAGNOSTICS
       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; those sites
       with a source code license may check the source code to see how this can be done.

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

       The current implementation of malloc does not always fail gracefully  when  system  memory
       limits  are  approached.   It may fail to allocate memory when larger free blocks could be
       broken up, or when limits are exceeded because the size is rounded up.	It  is	optimized
       for sizes that are powers of two.

       Alloca is machine dependent; its use is discouraged.

4th Berkeley Distribution		   May 14, 1986 				MALLOC(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 06:57 PM.

Unix & Linux Forums Content Copyright©1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?