Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
TORU WAKAHARA<br />
・ビットフィールド 構 造 体 の 便 利 な 機 能 として,ビット 単 位 でデータを 取 り 扱 うことが<br />
できるビットフィールドがある。<br />
構 造 体 メンバとしてビットフィールドを 定 義 するには 次 の 書 式 を 用 いる。<br />
型 名 前 :サイズ;<br />
但 し,「 型 」は int または unsigned<br />
signed の 場 合 , 最 上 位 ビットは 符 号 ビットと 見 なされる。<br />
移 植 可 能 にするには,signed あるいは unsigned と 明 示 的 に 指 定 すべきである。<br />
「サイズ」はフィールドでのビット 数<br />
ビットフィールドを 参 照 するには, 通 常 の 構 造 体 と 同 じように「.」または<br />
「->」 演 算 子 によってメンバを 指 定 する。<br />
例 .ビットフィールドと 他 の 型 を 混 在 させることが 可 能 であり,またバイトやワードのす<br />
べてのビットが 埋 まるように 定 義 する 必 要 はない。<br />
struct b_type {<br />
char name[40]; /* 品 目 名 */<br />
unsigned int instock: 1; /* 在 庫 があれば 1, 在 庫 切 れなら 0 */<br />
unsigned int backordered: 1; /* 未 納 注 文 であれば 1, 納 品 済 みなら 0 */<br />
unsigned int lead_time: 3; /* 発 注 から 納 品 までの 月 数 (7 ヶ 月 まで) */<br />
} inv[MAX_ITEM];<br />
注 )メモリのアドレス 可 能 な 最 小 単 位 はバイトであるため,ビットフィールド 変 数 の<br />
アドレスを 得 ることはできない。<br />
ビットフィールドには,ブール( 真 / 偽 ) 型 のデータを 格 納 することがよくある。<br />
1 バイトに 8 個 のブール 型 の 値 を 格 納 できる。