November 19, 2007 POSIX_MEMALIGN 3

### NAME

posix_memalign - aligned memory allocation

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```int` posix_memalign(```void **ptr``, size_t alignment``, size_t size`)

### DESCRIPTION

The posix_memalign(``) function allocates ```size` bytes of memory such that the allocation's base address is an even multiple of ```alignment`, and returns the allocation in the value pointed to by ```ptr`.

The requested ```alignment` must be a power of 2 at least as large as sizeof(```void *`).

Memory that is allocated via posix_memalign(``) can be used as an argument in subsequent calls to realloc(3) and free(3).

### RETURN VALUES

The posix_memalign(``) function returns the value 0 if successful; otherwise it returns an error value.

### ERRORS

The posix_memalign(``) function will fail if:

[```EINVAL`]
  The ```alignment` parameter is not a power of 2 at least as large as sizeof(```void *`).

[```ENOMEM`]
  Memory allocation error.

### SEE ALSO

free(3), malloc(3), realloc(3), valloc(3)

### STANDARDS

The posix_memalign(``) function conforms to IEEE Std 1003.1-2001 (``POSIX.1'') .