您的位置:首页 > 其它

专题一关键字的剖析----7.enum,typedef的分析

2017-06-12 21:28 197 查看
Enum

enum是一种自定义类型;如果不指定初始值,默认从0开始,默认常量在前一个值的基础上依次加一;Enum类型的变量只能取定义时的离散值。

enum Color
{
GREEN, //0
RED, //1
BLUE
};
enum Color c=Green;
printf(“%d\n”,&c); //error,枚举常量,没有分配空间

#define
#define宏常量只是简单地进行值替换,而枚举常量是真正意义上的常量

#define宏常量无法被调试(编译期已经不存在了),枚举常量可以(编译时列入符号表中)。

#define宏常量无类型信息,枚举常量是一种特定的常量。

 

typedef不是用于定义一种新的类型。Typedef用于给一个已经存在的数据类型重命名,它并没有产生新的类型,typedef重定义类型不能进行unsigned和siged扩展。

#define是简单的字符串替换,无别名的概念。

typedef char* PCHAR;
PCHAR p1,p2;

#define PCHAR  char*
PCHAR p3,p4;			//p4为char
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: