NAME
offsetof
—
offset of a structure member
SYNOPSIS
#include
<stddef.h>
size_t
offsetof
(type,
member);
DESCRIPTION
Theoffsetof
()
macro expands to an integer constant expression of type
size_t and yields the offset, in bytes, of the field
member from the start of the structure
type.
A compiler error will result if member is not aligned to a byte boundary (i.e. it is a bit-field).
EXAMPLES
Regardless of the architecture and the ABI, the following example prints the value zero for the variable x.
struct example { double x; int y; char z; }; size_t x, y, z; x = offsetof(struct example, x); y = offsetof(struct example, y); z = offsetof(struct example, z); (void)printf("%zu %zu %zu\n", x, y, z);
SEE ALSO
STANDARDS
The offsetof
() macro conforms to
ANSI X3.159-1989
(“ANSI C89”).