【问题标题】:how does this structure code work这个结构代码是如何工作的
【发布时间】:2012-08-23 10:15:12
【问题描述】:

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

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

【问题讨论】:

    标签: c struct structure unsigned


    【解决方案1】:

    通过这种方式,您可以声明要为该变量保留多少位。它通常用于对齐数据结构。 wikipedia article 包含一个很好的解释。

    【讨论】:

      【解决方案2】:

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

      More Links

      And One more

      【讨论】:

      • 谢谢你的帮助,链接也很有用。
      猜你喜欢
      • 2014-09-20
      • 1970-01-01
      • 2010-12-13
      • 2013-04-23
      • 2015-04-09
      • 2013-07-24
      • 2014-03-26
      • 2012-11-14
      • 1970-01-01
      相关资源
      最近更新 更多