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 变量.