stddef.h
Macro offsetof ANSI C
#define offsetof(tipo, designador_miembro)
Expande a una expresión constante entera de tipo size_t, el valor del cual es el desplazamiento en bytes al miembro de la estructura (denominado designador_miembro) desde el comienzo de su tipo de estructura (denominado tipo). El designador_miembro será tal que dado static tipo t; entonces la expresión & (t.designador_miembro) evalúa a una dirección constante de memoria. (Si el miembro especificado es un campo de bits, el comportamiento no está definido).
Ejemplo:
#define offsetof(s_type, mbr) ((size_t) &((s_type *)0)->mbr) |
DJGPP |
#define offsetof( s_name, m_name ) (size_t)&(((s_name _FAR *)0)->m_name) |
Borland |
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) |
Dev-C++ |