声明:本文参考郝斌老师的《数据结构》自学视频。
typedef 就是为已有的变量类型取个别名。比如 typedef int integer的意义就是为 int 类型取了一个别名,因此 int 类型和 integer 类型是等价的。int i = 99 等价于 integer i = 99。
看下面的一个程序:
从这个程序中我们可以看出使用 typedef 可以使我们避免重复的输入 struct Student 这个数据类型的名字。
注意这个程序有注释信息的那部分内容。上图将有注释信息的程序截取了出来,画红色直线的部分是一个整体,是一个完整的数据类型,即 struct Student 数据类型。这段代码结尾部分的 * PST 和 STU 是用逗号隔开的,而这段代码开头的 typedef 表明 * PST 和 STU 分别是 struct Student * 数据类型 和 struct Student 数据类型的别称。
另外,再看一段代码:
在这段代码中,要注意的是 PNODE 是代表的 struct Node * 类型,而不是int * 类型。NODE表示的是整个节点,PNODE 表示的是整个节点的指针。