Manual Page Result
0
Command: __alignof__ | Section: 3 | Source: NetBSD | File: __alignof__.3
__ALIGNOF__(3) FreeBSD Library Functions Manual __ALIGNOF__(3)
NAME
__alignof__ - GNU extension for alignment of an object
SYNOPSIS
int
__alignof__(void x);
DESCRIPTION
The __alignof__() operator returns the alignment of its operand. The
operand can be a type or an expression. If the operand is a `lvalue',
the return value represents the required alignment of the underlying
type, not the actual alignment of the specified `lvalue'.
The returned value is specific to the architecture and the ABI. If the
architecture does not impose strict alignment requirements, __alignof__()
returns the minimum required alignment. If __aligned(3) is used to
increase the alignment, __alignof__() returns the specified alignment.
EXAMPLES
The syntax is comparable to the sizeof() operator. If the architecture
aligns integers along 32-bit address boundaries, the following should
print the value 4.
(void)printf("%d\n", __alignof__(int));
On the other hand, the following example should print the value 1, even
though this is unlikely to be the actual alignment of the structure
member.
struct align {
int x;
char y;
} a;
(void)printf("%d\n", __alignof__(a.y));
SEE ALSO
gcc(1), attribute(3), offsetof(3), typeof(3)
CAVEATS
This is a non-standard, compiler-specific extension.
FreeBSD 14.1-RELEASE-p8 December 20, 2010 FreeBSD 14.1-RELEASE-p8