【问题标题】:C special syntax (adding ':' ) while defining a struct [duplicate]定义结构时的 C 特殊语法(添加 ':' )[重复]
【发布时间】:2011-06-28 12:42:25
【问题描述】:

可能重复:
What does the : do in a struct declaration after a member

我想问一下为什么:这个结构要加这个字符:

typedef union A
{
struct 
    {
        ubyte B:4;
         }
} struct_a;

提前致谢;

【问题讨论】:

  • 对于所有回答此问题的人,您应该将其作为重复项关闭。我很确定那里有几十个。
  • @karlphillip:或者两者兼而有之,因为没有害处……有时回答问题然后找到重复项会更快。
  • @karlphillip - 需要 3000+ 的声誉才能成功投票。
  • @borrible 谢谢。但在未来请记住,您仍然可以投票给相关的 cmets,比如 GrahamS 留下的那个。

标签: c struct


【解决方案1】:

:4 对变量设置了 4 位限制。请参阅 Kernighan & Ritchie 的第 6.9 节。

【讨论】:

    【解决方案2】:

    它被称为bit field。在这种情况下,它是说 B 的大小是 4 位。

    【讨论】:

      【解决方案3】:

      它声明了一个 4 位的 bit field

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-14
        • 1970-01-01
        • 2020-12-27
        • 2019-01-20
        • 2016-08-01
        • 2015-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多