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++