我们可以使用位字段作为c中结构成员的数组吗?

时间:2013-07-31 10:23:10

标签: c arrays bit

我们可以使用作为结构一部分的数组的位域吗?这可能在C?

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

1 个答案:

答案 0 :(得分:4)

不,你不能那样做。

  • 位域只能是int
  • 类型
  • 位域填充到struct
  • 中下一个元素的大小

如果您的阵列足够小,那么您可以为它们分配单独的名称并制作7个5位位域,但这可能不是您想要的。

使用宏手动移动它们将是您最好的选择,也是最快的。