您的位置:首页 > 其它

7.enum和typedef分析

2013-03-24 14:26 92 查看
1. enum

a:是一种自定义类型.

b: 默认常量在前一个值的基础上依次加1

C;只能取定义时的离散量.

#define与枚举类型的区别

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

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

C: #define宏常量无类型信息,枚举常量是一种特点类型的常量.

#include <stdio.h>
enum Colar
{
GREEN,
RED,
BLUE
};

int main()
{
printf("%d\n", GREEN);
//printf("%d\n", &GREEN);是错误了,因为它是常量,不是变量,不能取地址.
printf("%d\n", RED);
printf("%d\n", BLUE);
return 0;
}


2. typedef 的意义. (本质 就是 类型的重命名. )

a. typedef 是类型重命名. ( 类型必须已经存在)

b. typedef并没有产生新的类型

c. typedef 重定义的类型不能进行unsigned 和singed扩展.

3 #typedef 与#define 的区别.

a: typedef 是给已有类型取别名.

b: #define为简单的字符串替换,无别名的概览

例如:

typedef char * PCHAR

PCHAR p1, p2;

#define PCHAR char *

PCHAR p3, p4;

问. p1,p2,p3,p4之间有区别吗?

答:有,p1,p2,p3是char指针, p4是char 变量.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: