Updated: 2022/Sep/29
Please read Privacy Policy. It's for your privacy.
__ALIGNOF__(3) 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. NetBSD 10.99 December 20, 2010 NetBSD 10.99