【问题标题】:Why do C enumeration constants need a name?为什么 C 枚举常量需要一个名字?
【发布时间】:2009-12-04 21:53:31
【问题描述】:

为什么 C 枚举常量需要一个名字?因为这个:

#include <stdio.h>

enum {NO, YES};

int main(void)
{
    printf("%d\n", YES);
}

工作原理与此相同:

#include <stdio.h>

enum boolean {NO, YES};

int main(void)
{
    printf("%d\n", YES);
}

【问题讨论】:

  • 请停止更改您的枚举类型的名称 - 这意味着我们的答案没有意义!
  • 嘿嘿,你回答得太快了! ;p

标签: c


【解决方案1】:

这样就可以创建枚举类型的变量了:

enum boolean read_file = NO;

【讨论】:

    【解决方案2】:

    如果你想创建一个'of the enum'的类型,例如:

    enum boolean x;
    x = NO;
    

    更简单的方法是使用 typedef:

    typedef enum {NO, YES} boolean;
    

    然后你所要做的就是使用 boolean 作为类型:

    boolean x;
    x = NO;
    

    【讨论】:

      【解决方案3】:

      如果我的理解正确,那么您只是在使用一个过于基本的示例。

      Days of the week 是枚举的一个很好的例子。

      【讨论】:

        【解决方案4】:

        好吧,你可能想定义一个这样的函数:

        void here_is_my_answer(boolean v)
        {
           if (v == YES) { 
           } else {
           {
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-10-02
          • 1970-01-01
          • 2015-08-21
          • 1970-01-01
          • 1970-01-01
          • 2017-08-25
          • 1970-01-01
          • 2019-06-21
          相关资源
          最近更新 更多