typedef
作用:为各种数据类型定义一个别名
使用方式
与基本数据类型
|
|
- 别名的别名
|
|
与指针
|
|
与结构体
|
|
- 定义并取别名
|
|
与指向结构体的指针
|
|
又例:
|
|
与枚举
与结构体的使用是一样的。这里来一个复杂点的例子:
|
|
与数组
|
|
与指针常量
|
|
与函数、函数指针
|
|
typdef与#define的区别
#define
是用来定义宏的。而宏的语义就是在预编译时,用宏定义后的字符串来替换宏名。
如,
typedef char* String;
, 可以用宏来替换 #define String char*
但是,像一些复杂的别名定义,如与结构体、枚举等这样的 复合类型的定义,就不能直接使用#define
来定义了。当然,若是分段来定义,还是可以的。结合上面枚举的例子,如:
|
|