Cのほとんどの変数は整数のバイト数のサイズを持っています。ビットフィールドは、整数バイトを必ずしも占有しない構造体の一部です。それらは任意の数のビットとすることができる。複数のビットフィールドを単一の記憶装置にパックすることができる。それらは標準Cの一部ですが、実装が定義する多くの側面があります。彼らはCの中で最も携帯性が低い部分の1つです。
パラメータ | 説明 |
---|---|
型指定子 | signed 、 unsigned 、 int または_Bool |
識別子 | 構造体のこのフィールドの名前 |
サイズ | このフィールドに使用するビット数 |
ビットフィールドの唯一の移植可能なタイプsigned
、 unsigned
signed
、 unsigned
または_Bool
です。プレーンint
型が使用できますが、標準では(§6.7.2¶5) ビットフィールドに対しては、指定子int
signed int
と同じ型またはunsigned int
と同じ型を指定するかどうかは実装定義です。
他の整数型は特定の実装で許されるかもしれませんが、それらを使うことは移植性がありません。