C 这个结构代码是如何工作的
大家好,有人能帮我写这段代码吗C 这个结构代码是如何工作的,c,struct,structure,unsigned,C,Struct,Structure,Unsigned,大家好,有人能帮我写这段代码吗 struct { unsigned BLOCKDATA:16; unsigned QUALCOUNT:4; unsigned BLOCKTYPE:2; unsigned BE:1; unsigned Z:1; unsigned SYN:1; unsigned DOK:1; unsigned BM:1; unsigned SYNDROME:
struct
{
unsigned BLOCKDATA:16;
unsigned QUALCOUNT:4;
unsigned BLOCKTYPE:2;
unsigned BE:1;
unsigned Z:1;
unsigned SYN:1;
unsigned DOK:1;
unsigned BM:1;
unsigned SYNDROME:5;
}
RDSout;
我知道RDSout是一个结构,BLOCKDATA和QUALCOUNT等是这个结构的元素,但我不明白BLOCKDATA前面的:16是什么意思?这样你就可以声明你想要为这个变量保留多少位。它通常用于对齐数据结构。包含一个很好的解释。结构中每个元素后面的数字显示我们为每个元素保留了多少位。当您已经知道要使用的确切位数时,通常会打包位并保存内存。您还可以参考以使您的概念更清晰
谢谢你的帮助,这些链接也很有用。