stddef.hには標準ライブラリで扱う共通のマクロ、型が定義されています。
マクロ定数
NULL
空(ヌル)ポインタ定数です。
locale.h、stdio.h、stdlib.h、string.h、time.h、wchar.hヘッダでも定義されています。
型
ptrdiff_t
2つのポインタを減算した結果の符号付き整数型です。
size_t
sizeof演算子の結果を表すための符号無し整数型です。
メモリ領域のオブジェクトサイズを表すのに適しており、配列の要素を参照する際に使用します。
stdio.h、stdlib.h、string.h、time.h、wchar.hヘッダでも定義されています。
wchar_t
8bit以上のワイド文字型として扱います。(Windows系は16bit、Unix系は32bitの場合が多い)
実際は、サポートされているロケールで指定されている最大の拡張文字セットのすべてのメンバーの個別コードを表すことができる整数型となっています。
stdlib.h、wchar.hヘッダでも定義されています。
マクロ関数
offsetof(type, member-designator)
size_t型の値を返す定数式に展開されます。
typeに指定した構造体の先頭から、member-designatorに指定した構造体メンバまでの、バイトオフセット値が返されます。
指定されたメンバがビットフィールドの場合、その動作は未定義(実装依存)となります。。
コメント