The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group

 NAME

malloc - a memory allocator

 SYNOPSIS



#include <stdlib.h>

void *malloc(size_t size);

 DESCRIPTION

The malloc() function allocates unused space for an object whose size in bytes is specified by size and whose value is indeterminate.

The order and contiguity of storage allocated by successive calls to malloc() is unspecified. The pointer returned if the allocation succeeds is suitably aligned so that it may be assigned to a pointer to any type of object and then used to access such an object in the space allocated (until the space is explicitly freed or reallocated). Each such allocation will yield a pointer to an object disjoint from any other object. The pointer returned points to the start (lowest byte address) of the allocated space. If the space cannot be allocated, a null pointer is returned. If the size of the space requested is 0, the behaviour is implementation-dependent; the value returned will be either a null pointer or a unique pointer.

 RETURN VALUE

Upon successful completion with size not equal to 0, malloc() returns a pointer to the allocated space. If size is 0, either a null pointer or a unique pointer that can be successfully passed to free() will be returned. Otherwise, it returns a null pointer and sets errno to indicate the error.

 ERRORS

The malloc() function will fail if:
[ENOMEM]
Insufficient storage space is available.

 EXAMPLES

None.

 APPLICATION USAGE

None.

 FUTURE DIRECTIONS

None.

 SEE ALSO

calloc(), free(), realloc(), <stdlib.h>.

DERIVATION

Derived from Issue 1 of the SVID.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]