enum 枚举类型 定义常量
只能是int类型
enum默认常量在前一个值的基础上加1
#define宏常量只是简单的值替换。 枚举常量是真正意义上的常量
#define宏常量无法被调试 枚举常量可以 程序执行完相当于没有#define一行语句 无法调试(替换掉)
枚举常量是特定类型信息
定义常量时 尽量使用enum
typedef
给已知的数据类型重命名,并不是产生新的类型
#define 为简单的字符串替换
typedef char * TES #define char * TES
TES p1,p2;TES p3,p4; (p4? error:char* to char)
重定义的类型不能和unsigned signed扩展