****define 和 typedef 的区别
- typedef 后面必须加分号,define 不需要加分号。
- define 的新名字在左面,typedef的新名字在右面
- define 任何名字都可以换,typedef 只能专门给变量类型换名字。
- 宏定义define 是无脑改名,而typedef 会会对命名进行检查,如果不是变量类型的名字,那是不行的
枚举也是一个宏定义的集合。
typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
int a=DISABLE;//可以