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 回答