unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (NetBSD-6.1.5)
Page:
Section:
Apropos / Subsearch:
optional field

OFFSETOF(3)                Library Functions Manual                OFFSETOF(3)

NAME
     offsetof -- offset of a structure member

SYNOPSIS
     #include <&lt;stddef.h>&gt;

     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 6.1.5                     April 1, 2011                    NetBSD 6.1.5