0

構造体の一部である配列のビットフィールドを使用できますか? これはCで可能ですか?

typedef struct convert
{
    unsigned char data[7] : 5;                                        //5x7
};
4

1 に答える 1

4

いいえ、それはできません。

  • ビットフィールドは次の型のみですint
  • ビットフィールドは、 の次の要素のサイズにパディングされstructます。

配列が十分に小さい場合は、それらに個別の名前を割り当てて 7 つの 5 ビット ビットフィールドを作成できますが、それはおそらくあなたが望むものではありません。

マクロを使用して手動でシフトするのが最善の策であり、高速です。

于 2013-07-31T10:26:04.737 に答える