memalign(3)

memalign3

Memory aligned allocate

Usage

#include <malloc.h>

[[deprecated]] void *memalign(size_t alignment, size_t size);

Library

Standard C library (libc, -lc)

Overview

memalign() is equivalent to aligned_alloc(3), except for the CAVEATS documented below.

Attributes

For an explanation of the terms used in this section, see attributes(7).

InterfaceAttributeValue
memalign()Thread safetyMT-Safe

Versions

On some systems memalign() is declared in <stdlib.h> instead of <malloc.h>.

Caveats

memalign() may not check that the alignment argument is correct.

Some systems provide no way to reclaim memory allocated with memalign() (because one can pass to free(3) only a pointer obtained from malloc(3), while, for example, memalign() would call malloc(3) and then align the obtained value). The glibc implementation allows memory obtained from memalign() to be reclaimed with free(3).

Releases

12 releases since Debian 3.1 (Sarge); the text changed 11 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 7
  6. 8
  7. 9
  8. 10
  9. 11
  10. 12
  11. 13
  12. Arch

Standards

None.

History

glibc 2.0. SunOS 4.1.3.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.