C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称(char/int/float)、数组类型名称、指针类型名称,以及用户自定义的结构型名称(struct)、共用型名称(union)、枚举型名称(enum)等。
C语言的数据类型介绍
一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。
需要注意的是:typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。
typedef 的两种用法:
1、为基本数据类型定义新的类型名
typedef 定义新的类型名
如上图所示,系统默认的所有基本类型都可以利用 typedef 关键字来重新定义类型名,然后用新的类型名来定义变量。
这样做的好处是,当跨平台移植程序时,只需要修改一下 typedef 的定义即可,而不用对其他源代码做任何修改。
2、为自定义的数据类型(如结构体)定义简洁的类型名称
typedef 定义简洁的类型名称
如上图所示,结构体 struct student 为新的数据类型,使用 typedef 可以为这个新的结构起一个别名,叫 student_t。这样就可以像使用 int 和 double 那样直接使用 student_t 定义变量。