FREE(3) Library Functions Manual FREE(3)

freefree allocated memory

#include <stdlib.h>

void free(void *ptr);

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.

The free () function shall not return a value.

No errors are defined.

None.

There is now no requirement for the implementation to support the inclusion of <malloc.h>.

None.

None.

calloc(3) , malloc(3) , posix_memalign(3) , realloc(3)

XBD <stdlib.h>

First released in Issue 1. Derived from Issue 1 of the SVID.

Reference to the () function is removed.

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.

January 1, 2008 posix.fail