在C语言中typedef是类型定义的意思,为现有类型创建一个新的别名。
它有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法 。
使用typedef可编写出更加美观和可读的代码。
比如定义一个不含typedef的结构体:
struct Student{
int age;
char[20] name;
};
在声明变量时每次都要加 struct 如:
struct student newStu;
使用typedef后
typedef struct Student{
int age;
char[20] name;
} Stu;
可以直接用 stu声明: Stu newStu;
区别就是省去了关键字 struct
在c++中可以省去省去typedef指定别名。
struct Student{
int age;
char[20] name;
};
可以直接 Student newStu; 省去了struct关键字
另外注意: 在C中,struct不能包含函数。在C++中,对struct进行了扩展,可以包含函数。