在《数据结构》C语言版中经常遇到定义结构体不同的方式:
typedef struct和struct。它们之间的区别如下:
typedef struct student{
int id;
char name;
}stu;
其中student为结构名,stu为对象名。typedef即给struct取别名,在C中定义结构体需要用typedef。此时stu == struct student。在声明变量时只需要写stu stu1。如果不用typedef则只能通过struct student stu1声明变量。
struct student{
int id;
char name;
}
在C++中定义结构体可直接使用struct,但在声明struct新对象时,必须带上struct,即struct 结构名 对象名,比较麻烦,因而写代码时更多的是为struct取别名,写为typedef。
本文详细解析了C语言和C++中定义结构体的不同方式,包括使用typedef和struct关键字的区别。在C中,typedef用于给结构体取别名,简化变量声明;而在C++中,虽然可以直接使用struct定义,但为了方便,程序员更倾向于使用typedef来创建别名。
1512

被折叠的 条评论
为什么被折叠?



