OFFSETOF(3)

NAME
offsetof - offset of a structure member

SYNOPSIS
#include <stddef.h>
size_t
offsetof(type, member);

DESCRIPTION
The offsetof() 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
__alignof__(3), stddef(3), typeof(3)

STANDARDS
The offsetof() macro conforms to ansiC.