C 枚举中的值是多少?

C 枚举中的值是多少?,c,enums,C,Enums,如以下代码所示,0和CVMX_FAU_REG_64_ADDR(0)在CVMX_FAU REG_64_t中有什么区别 #define CVMX_FAU_REG_64_ADDR(x) ((x <<3) + CVMX_FAU_REG_64_START) typedef enum { CVMX_FAU_REG_64_START = 0, CVMX_FAU_REG_64_END = CVMX_FAU_REG_64_ADDR(0), }

如以下代码所示,0和CVMX_FAU_REG_64_ADDR(0)在CVMX_FAU REG_64_t中有什么区别

#define CVMX_FAU_REG_64_ADDR(x) ((x <<3) + CVMX_FAU_REG_64_START)
typedef enum
{
    CVMX_FAU_REG_64_START          = 0, 
    CVMX_FAU_REG_64_END            = CVMX_FAU_REG_64_ADDR(0),
} cvmx_fau_reg_64_t;

#定义CVMX_FAU_REG_64_ADDR(x)((x在编写的代码中,两个值都==0。实际值没有差异。

那么CVMX_FAU_REG_64_START和CVMX_FAU_REG_64_END之间的区别是什么?它们的拼写方式。基本上有两个标识符解析为同一事物。请注意,枚举常量始终是type
int
enum
types本身也不大于
int
。因此,对于
int
小于64位的典型体系结构,使用较大的常量会遇到问题。()只是名称看起来可疑)