| OFFSETOF(3) | Library Functions Manual | 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);
 
STANDARDS
 The offsetof() macro conforms to ANSI X3.159-1989 (“ANSI C89”).