关于枚举的不同描述

时间:2015-04-12 13:20:11

标签: c enums

我尝试编写一个国际象棋引擎,但下面的代码很难理解。我特别不理解等式表达式后的逗号。

enum {
    A1 = 21, B1, C1, D1, E1, F1, G1, H1,
    A2 = 31, B2, C2, D2, E2, F2, G2, H2,
    A3 = 41, B3, C3, D3, E3, F3, G3, H3,
    A4 = 51, B4, C4, D4, E4, F4, G4, H4,
    A5 = 61, B5, C5, D5, E5, F5, G5, H5,
    A6 = 71, B6, C6, D6, E6, F6, G6, H6,
    A7 = 81, B7, C7, D7, E7, F7, G7, H7,
    A8 = 91, B8, C8, D8, E8, F8, G8, H8, NO_SQ, OFFBOARD
  };

2 个答案:

答案 0 :(得分:1)

枚举是枚举的简写。如果您有一系列定义,其值彼此相继,您可以使用枚举自动递增值而不是手动定义每个值 =符号指示开始枚举的编号,可以在同一个枚举中多次设置,每次都以指定的数字重新启动枚举。

请参阅下面的代码中的注释,以进一步解释这一点。

enum {
    /* A1=21 implies B1=22, C1=23,... */
    A1 = 21, B1, C1, D1, E1, F1, G1, H1,
    /* A2=31 restarts the previous enumeration at 31, so B2=32, C2=33,... */
    A2 = 31, B2, C2, D2, E2, F2, G2, H2,
    /* And so on, A3=41,B3=42,C3=43... */
    A3 = 41, B3, C3, D3, E3, F3, G3, H3,
    A4 = 51, B4, C4, D4, E4, F4, G4, H4,
    A5 = 61, B5, C5, D5, E5, F5, G5, H5,
    A6 = 71, B6, C6, D6, E6, F6, G6, H6,
    A7 = 81, B7, C7, D7, E7, F7, G7, H7,
    A8 = 91, B8, C8, D8, E8, F8, G8, H8, NO_SQ, OFFBOARD
  };

答案 1 :(得分:0)

枚举类型允许我们为相关想法列表创建自己的符号名称。枚举类型的关键字是枚举。例如,我们可以为true和false

创建枚举类型
enum Security_Levels 
    { 
      black_ops, 
      top_secret, 
      secret, 
      non_secret 
    };    

这是你可以在C

中初始化枚举的方式