您的位置:首页 > 其它

enum,typedef分析

2017-06-13 23:45 183 查看

关键字的秘密

专题一:关键字的秘密。包括以下章节:

基本数据类型分析

auto,register,static分析

if,switch,do,while,for分析

goto,void,extern,sizeof分析

const,volatile分析

struct,union分析

enum,typedef分析

枚举类型使用方法

enum是一种自定义类型(struct、union都是自定义类型)

enum默认第一个值为0,下一个值依次加1

enmu类型的变量只能取定义时的离散值(int型)

#include<stdio.h>

enum Color
{
GREEN,
BLUE = 2,
RED
};

int main()
{
//printf("%d\n", &GREEN);编译报错,enum时真正意义上的常量,不能取地址。0不能取地址
printf("%d\n", GREEN);
printf("%d\n", BLUE);
printf("%d\n", RED);

return 0;
}


结果:



枚举类型和define区别

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

#define宏常量无法被调试,枚举常量可以

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

typedef

typedef用于给一个已经存在的类型重命名

typedef没有产生新的类型

typedef重定义的类型不能进行unsigned和signed扩展

typedef和#define区别

#include<stdio.h>

typedef char* PCHAR;
#define DCHAR char*

int main()
{

char c;

PCHAR p1, p2;// 等价于(char*) p1, p2;
p1 = &c;
p2 = &c;

DCHAR d1, d2;//等价于char* p1,p2;p1是指针char*,p2是char类型
d1 = &c;
d2 = &c;

return 0;
}


打印结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  typedef enum