2

大家好,有人可以帮我处理这段代码吗

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是什么意思?

4

2 回答 2

6

这样,您可以声明要为该变量保留多少位。它通常用于对齐数据结构。维基百科文章包含一个很好的解释。

于 2012-08-23T10:16:28.740 回答
0

结构中每个元素后面的数字显示了我们为每个元素保留了多少位。当您已经知道要使用的确切位数时,通常会打包位并节省内存。您也可以参考此处以使您的概念更加清晰。

更多链接

还有一个

于 2012-08-23T10:20:39.517 回答