这个结构代码是如何工作的

sin*_*sin 2 c unsigned struct structure

大家好,有人可以帮我解决这段代码

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;
Run Code Online (Sandbox Code Playgroud)

我知道RDSout是一个结构,BLOCKDATA和QUALCOUNT等是这个结构的元素,但我不明白: BLOCKDATA前面的16是什么意思?

Ale*_*der 6

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