NAME
free — free
allocated memory
SYNOPSIS
#include
<stdlib.h>
void free(void *ptr);
DESCRIPTION
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2008 defers to the ISO C standard.
The free () function shall cause the space
pointed to by ptr to be deallocated; that is, made
available for further allocation. If ptr is a null
pointer, no action shall occur. Otherwise, if the argument does not match a
pointer earlier returned by a function in POSIX.1-2008 that allocates memory
as if by malloc(3), or if the space has been deallocated
by a call to free () or
realloc(3), the behavior is undefined.
Any use of a pointer that refers to freed space results in undefined behavior.
RETURN VALUE
The free () function shall not return a
value.
ERRORS
No errors are defined.
EXAMPLES
None.
APPLICATION USAGE
There is now no requirement for the implementation to support the inclusion of <malloc.h>.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
calloc(3) , malloc(3) , posix_memalign(3) , realloc(3)
XBD <stdlib.h>
CHANGE HISTORY
First released in Issue 1. Derived from Issue 1 of the SVID.
Issue 6
Reference to the valloc () function is removed.
Issue 7
The DESCRIPTION is updated to clarify that if the pointer returned is not by a function that allocates memory as if by malloc(3), then the behavior is undefined.