Reference

memory(3)

general memory allocation operations

NAME

alloca, calloc, free, malloc, mmap, realloc – general memory allocation operations

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <stdlib.h>

void *

alloca(size_t size);

void *

calloc(size_t nelem, size_t elsize);

void

free(void *ptr);

void *

malloc(size_t size);

void *

realloc(void *ptr, size_t size);

#include <sys/mman.h>

void *

mmap(void * addr, size_t len, int prot, int flags, int fildes, off_t off);

DESCRIPTION

These functions allocate and free memory for the calling process. They are described in the individual manual pages.

LEGACY SYNOPSIS

#include <sys/types.h> #include <sys/mman.h>

void *
mmap(void * addr, size_t len, int prot, int flags, int fildes, off_t off);

The include file ⟨sys/types.h⟩ is needed for this function.

COMPATIBILITY

mmap() now returns with errno set to EINVAL in places that historically succeeded. The rules have changed as follows:

  • The flags parameter must specify either MAP_PRIVATE or MAP_SHARED.

  • The size parameter must not be 0.

  • The off parameter must be a multiple of pagesize, as returned by sysconf().

SEE ALSO

mmap(2), alloca(3), calloc(3), free(3), malloc(3), realloc(3), compat(5)

STANDARDS

These functions, with the exception of alloca() and mmap() conform to ISO/IEC 9899:1990 (“ISO C90”).

History