typedef 可以为类型起一个新的别名,格式如下:
typedef oldName newName;
例如:
typedef int INTEGER;
INTEGER a, b;
a = 1;
b = 2;
这里,INTEGER与int相同。
typedef 还可以给数组、指针、结构体等类型定义别名。
1. 给数组定义别名
typedef char ARRAY10[10];
ARRAY10时 char [10]的别名。ARRAY10 a1,a2
等价于:char a1[10], a2[10]
2. 给结构体定义别名
typedef struct stu{
char name[20];
int age;
char sex;
} STU;
STU 是 struct stu 的别名,可以用 STU 定义结构体变量:
STU body1,body2;
等价于
struct stu body1, body2;
3. 为指针类型定义别名
typedef int (*PTR_TO_ARR)[4];
表示 PTR_TO_ARR 是类型int * [4]
的别名,它是一个二维数组指针类型。接着可以使用 PTR_TO_ARR 定义二维数组指针:
PTR_TO_ARR p1, p2;
4.为函数指针类型定义别名
typedef int (*PTR_TO_FUNC)(int, int);
PTR_TO_FUNC pfunc。