---
name: "memalignment"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/memalignment"
---

# memalignment(3)

find the memory alignment of an object

## NAME

**memalignment** – find the memory alignment of an object

## SYNOPSIS

Standard C Library (libc, -lc)

**#include \<stdlib.h\>**

*size\_t*\

**memalignment**(*const void \*ptr*);

## DESCRIPTION

The **memalignment**() function determines the alignment of the object pointed to by *ptr*. This alignment is a power of 2, and may be larger than the range supported by the **alignof** operator. The value returned can be compared to the result of **alignof**, and if it is greater or equal, the alignment requirement of the operand is satisfied.

## RETURN VALUES

Returns the alignment of *ptr* as a power of 2. If *ptr* is a null pointer, an alignment of zero is returned. An alignment of zero indicates that the tested pointer cannot be used to access an object of any type.

## SEE ALSO

[aligned\_alloc(3)](/aligned_alloc/3.md), [posix\_memalign(3)](/posix_memalign/3.md)

## STANDARDS

The **memalignment**() function conforms to ISO/IEC 9899:2024 (“ISO C23”).

## HISTORY

The **memalignment**() function was added in FreeBSD 15.1.

## AUTHORS

Robert Clausecker ⟨*fuz@FreeBSD.org*⟩
