offsetof
stddef.h:インデックス への移動
ヘッダーファイル
stddef.h
カテゴリ
メモリルーチン
プロトタイプ
size_t offsetof(struct_type, struct_member);
説明
構造体メンバーのバイトオフセットを取得します。
offsetof は,マクロとしてのみ使用できます。引数 struct_type は struct 型です。struct_member は,メンバー選択演算子またはポインタを使ってアクセスできる struct の任意の要素です。
struct_member がビットフィールドである場合,結果は定義されません。
構造体のメモリ割り当てとアラインメントの詳細は,sizeof を参照してください。
戻り値
offsetof は,構造体の先頭から指定された構造体メンバーの先頭までのバイト数を返します。
コード例
#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; }
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |