【问题标题】:Enumeration syntax枚举语法
【发布时间】:2023-01-30 21:31:48
【问题描述】:

有人可以向我解释一下这是哪一部分吗:

enum bb { cc } dd;

我知道 enum bb 是枚举的名称,{ cc } 是它的枚举数,但我不知道 dd 是什么。

【问题讨论】:

    标签: c enums


    【解决方案1】:
    enum bb
    {
      cc
    } dd;
    
    1. bb - 枚举标签。
    2. cc - 枚举常量。因为它是第一个并且没有明确定义的值,所以它将为零(0);
    3. dd - enum bb 类型的变量

      它可以写成:

      enum bb
      {
        cc
      };
      
      enum bb dd;
      

    【讨论】:

    • 谢谢!这对我有帮助,但我仍然想知道,为什么 printf("%d", dd) 打印 0?
    【解决方案2】:

    它将dd定义为enum bb类型的变量。看看Enumerations 它的行为就像您正常定义时一样

    #include <stdio.h>
    int main()
    {
        enum bb { cc, ee } dd  = cc; // dd is now 0
        dd = ee; // dd is now 1
        printf("%d", dd); 
    }
    

    Link

    【讨论】:

    • dd is now 0. dd 不为零,只是不确定,因为变量 dd 未初始化。
    • “它将 dd 定义为 enum bb 类型。” -> “它将dd定义为多变的类型为 enum bb。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多