enum和typedef 与#define宏定义的区别

来源:互联网 发布:mac安装win7镜像 编辑:程序博客网 时间:2024/05/03 17:14

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扩展




0 0