memory(3)

memory3

Memory management functions

Usage

#include <stdlib.h>

void *

aligned_alloc(size_t alignment, size_t size);

void *

alloca(size_t size);

void *

calloc(size_t nelem, size_t elsize);

void

free(void *ptr);

void

free_sized(void *ptr, size_t size);

void

free_aligned_sized(void *ptr, size_t alignment, size_t size);

void *

malloc(size_t size);

int

posix_memalign(void **ptr, size_t alignment, size_t size);

void *

realloc(void *ptr, size_t size);

void *

reallocf(void *ptr, size_t size);

void *

valloc(size_t size);

#include <sys/types.h>

#include <sys/mman.h>

void *

mmap(void * addr, size_t len, int prot, int flags, int fd, off_t offset);

int

munmap(void *addr, size_t len);

Library

Standard C Library (libc, -lc)

Overview

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

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 45 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–2.2.8
  3. 2.2.9
  4. 3.0–3.2
  5. 3.3–3.4
  6. 3.5–3.5.1
  7. 4.0
  8. 4.1–4.2
  9. 4.3
  10. 4.4
  11. 4.5–4.11
  12. 5.0–6.3
  13. 6.4
  14. 7.0
  15. 7.1
  16. 7.2
  17. 7.3
  18. 7.4
  19. 8.0
  20. 8.1
  21. 8.2
  22. 8.3
  23. 8.4
  24. 9.0
  25. 9.1
  26. 9.2
  27. 9.3
  28. 10.0
  29. 10.1
  30. 10.2
  31. 10.3
  32. 10.4
  33. 11.0
  34. 11.1
  35. 11.2
  36. 11.3
  37. 11.4
  38. 12.0
  39. 12.1
  40. 12.2
  41. 12.3
  42. 12.4
  43. 13.0–13.2
  44. 13.3–14.5
  45. 15.0–15.1
  46. 16.0

Standards

The calloc(), free(), malloc(), and realloc() functions conform to ISO/IEC 9899:1990 (“ISO C90”).

The mmap(), munmap(), and posix_memalign() functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

The free_sized() and free_aligned_sized() functions conform to ISO/IEC 9899:2024 (“ISO C23”).

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.