enum和define的区别?
#define 的宏会在预处理时替换, enum却不会替换,那enum定义也不占用空间, 那enum是如何工作的?
/* enum.c */#if 1#define ONE (1)#elseenum Tags{ ZERO, ONE, TWO};#endifint main(){ int x = ONE; return 0;}int main(){ int x = (1); return 0;}/* enum.c */#if 0 /* Change */#define ONE (1)#elseenum Tags{ ZERO, ONE, TWO};#endifint main(){ int x = ONE; return 0;}enum Tags{ ONE, TWO, ThREE};int main(){ int x = ONE; return 0;}