7.enum和typedef分析
2013-03-24 14:26
92 查看
1. enum
a:是一种自定义类型.
b: 默认常量在前一个值的基础上依次加1
C;只能取定义时的离散量.
#define与枚举类型的区别
a. #define宏常量只是简单的进行值替换, 枚举常量是真正意义上的常量 .
b. #define 宏常量无法被调试, 枚举常量可以
C: #define宏常量无类型信息,枚举常量是一种特点类型的常量.
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 变量.
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 变量.
相关文章推荐
- 专题一关键字的剖析----7.enum,typedef的分析
- C和C++中struct和typedef struct的分析
- enum和typedef分析
- struct和typedef struct分析
- typedef全面分析
- C语言之enum,sizeof,typedef分析
- C和C++中struct和typedef struct的分析
- 11_enum,sizeof,typedef分析
- typedef用法分析
- C语言中typedef之分析
- C和C++中typedef的用法分析
- c语言学习笔记(5)enum和typedef分析
- struct和typedef struct用法分析
- 《C关键字分析》之typedef与callback
- 《C关键字分析》之typedef与callback
- struct和typedef struct 区别 分析
- enum,typedef分析
- typedef定义函数类型分析
- C和C++中struct和typedef struct的分析
- 使用typedef简化声明的实例分析