枚举之后define

   经常会看到类似下边的code写法,觉得这么写没什么意义。

enum {
    AA,
    BB,
    CC,
};
#define AA AA
#define BB BB
#define CC CC

 

   尝试下边代码,发现AA的值被改掉了,没报错,上边的写法能预防这种问题。

#include <stdio.h>

enum {
    AA,
    BB,
};

int main()
{
   printf("%d\n", AA);

#define AA 15
    printf("%d\n", AA);

    return 0;
}

 

  更深层次的东西应该涉及到预处理顺序,另外我认为 #define AA AA这种写法应该有种快捷方式:)

 

posted on 2019-06-05 14:34  rivsidn  阅读(154)  评论(0编辑  收藏  举报

导航