[C言語 標準ライブラリ] stddef.hの使い方

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に指定した構造体メンバまでの、バイトオフセット値が返されます。
指定されたメンバがビットフィールドの場合、その動作は未定義(実装依存)となります。。

コメント