Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


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);

SEE ALSO
     __alignof__(3), stddef(3), typeof(3)

STANDARDS
     The offsetof() macro conforms to ANSI X3.159-1989 ("ANSI C89").

NetBSD 10.99                     April 1, 2011                    NetBSD 10.99