使用 关键字可以让程序员为现有的数据类型定义一个更简洁、易于理解的别名,从而提高代码的可读性和可维护性。
下面是一些 的常见用法示例:
1. 为基本数据类型创建别名
typedef unsigned int unit;//将unsigned int 重命名为unit
int main()
{
unit a = 0;
unsigned int b = 0;
}
这时候a和b的类型是一样的,写unsigned太麻烦,我们可以写成unit,就很方便了。
对指针类型也可以重命名⽐如,将 int* 重命名为 ptr_t ,这样写:
typedef int* ptr_t;
但是对于对于数组指针和函数指针稍微有点区别:
⽐如我们有数组指针类型 int(*)[5] ,需要重命名为 parr_t ,那可以这样写:
1 typedef int(*parr_t)[5]; //新的类型名必须在*的右边
函数指针类型的重命名也是⼀样的,⽐如,将 void(*)(int) 类型重命名为 pf_t ,就可以这样写:
typedef void(*pfun_t)(int);//新的类型名必须在*的右边
那么要简化代码之后,可以这样写:
typedef void(*pfun_t)(int);
pfun_t signal(int, pfun_t);
2. 为结构体创建别名
typedef struct {
int age;
char name[20];
} Person;
通过使用别名,我们可以避免在每次声明结构体变量时都需写出完整的结构体名称。这样可以简化代码,并且更容易理解和阅读。
Person p1; // 使用别名
struct Person p2; // 不使用别名,直接使用结构体名