Makro offsetof()

Um den Abstand der einzelnen Strukturelemente in Bytes zu ermitteln, kann dazu das Makro offsetof() verwenden werden, das im Header <stddef.h> deklariert ist:

#include <stddef.h>
 
size_t offsetof(struktur, name_strukturelement);

Das Makro liefert den Abstand vom Anfang der Struktur bis zu dem Strukturelement, das als zweites Argument angegeben ist. Ist das Makro auf dem System nicht vorhanden, so lässt es sich wie folgt implementieren:

#define offsetof(struct_type, member) (size_t) &(((struct_type *)0)->member)

Quelle: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/015_c_strukturen_014.htm


Stand: 21.06.2016
: Jürgen Kreick

EOF