offsetof

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stddef.h - Index


Header-Datei

stddef.h

Kategorie

Speicherroutinen

Prototyp

size_t offsetof(struct_type, struct_member);

Beschreibung

Ermittelt den Byte-Offset eines Strukturelements.

offsetof ist nur als Makro verfügbar. Das Argument struct_type ist ein struct-Typ. struct_member ist ein beliebiges Element des struct-Typs, auf das mit einem Elementauswahloperator oder einem Zeiger zugegriffen werden kann.

Ist struct_member ein Bit-Feld, ist das Ergebnis nicht definiert.

Weitere Informationen zu Speicherzuweisung und Ausrichtung von Strukturen finden Sie unter sizeof.

Rückgabewert

offsetof gibt die Anzahl der Bytes vom Beginn der Struktur bis zum Anfang des angegebenen Strukturelements zurück.

Beispiel

#include <stddef.h>
struct fill_struct
{
  int _f1, _f2, _f3;
  char* _str;
};

int _tmain(int argc, _TCHAR* argv[])
{
  printf("The _str member of fill_struct starts at offset %d", offsetof(fill_struct, _str));
  return 0;
}

Portabilität

POSIX Win32 ANSI C ANSI C++

+

+

+