代码之家  ›  专栏  ›  技术社区  ›  Gary Willoughby

为什么C枚举常量需要名称?

c
  •  0
  • Gary Willoughby  · 技术社区  · 16 年前

    为什么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);
    }
    
    4 回复  |  直到 16 年前
        1
  •  6
  •   user201940    16 年前

    如果要创建“属于枚举”的类型,例如:

    enum boolean x;
    x = NO;
    

    更简单的方法是使用typedef:

    typedef enum {NO, YES} boolean;
    

    然后你要做的就是用布尔值作为类型:

    boolean x;
    x = NO;
    
        2
  •  8
  •   anon    16 年前

    以便可以创建枚举类型的变量:

    enum boolean read_file = NO;
    
        3
  •  2
  •   McAden    16 年前

    如果我对你的理解是正确的,你只是在用一个太基本的例子。

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

        4
  •  1
  •   bmargulies    16 年前

    那么,您可能需要定义这样的函数:

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