1.定义
typedef可以声明一个新的类型名代替已有的类型名
typedef int INTEGER;
typedef float REAL;
//下面两条等价
int i;float a;
INTEGER i;float a;
2.声明新类型的方法:
- 先按定义变量的方法写出定义语句: int n[100]
- 将变量名换成新类型名: int NUM[100]
- 最前面加typedef: typedef :int NUM[100]
3.使用例子
typedef int NUM[100];
NUM n; //包含100个整形元素的数组
typedef char *STRING
STRING p,s[10]; //p为字符指针变量,s为指针数组
typedef int (*POINTER)()
POINTER p1,p2; //p1,p2为POIMTER类型的指针变量
4.声明结构体类型
typedef struct{
int mouth;
int day;
int year;
}DATE;
声明的新类型名DATE代表上面指定的一个结构体类型。
这样可以用DATE定义变量。
DATE birthday;
DATE * p;
5.其它说明
- typedef 可以声明各种类型名,但不能来定义变量
int a[10],b[10],c[10];
NUM a,b,c //使用方便
-
typedef 只是对已存在的类型增加一个类型名,没有创造新的类型
-
不同源文件用到同一类型数据(数组、指针、结构体等),把他们单独放在一个头文件中,然后再需要用到它们的文件中用#inclde命令包含进来,以提高编程效率。
-
typedef 有利于程序的通用和移植,程序有时候会依赖硬件特性。如不同c++系统中存放int的字节数目不同,移植时候需要把所有位置int变成long。但如果用typedef只需要:
typedef int INTERGER
//变成
typedef long INTERGER