struct typedef等结构体易混

 注意注意 c++和c的typedef不一样啊

c++可以快速定义结构体

 

 

 如图 c语言不行

 

首先:
在C中定义一个结构体类型要用typedef:

typedef struct Student
{undefined
int a;
}Stu;


于是在声明变量的时候就可:Stu stu1;
如果没有typedef就必须用struct Student stu1;来声明
这里的Stu实际上就是struct Student的别名。

 

在c++中如果用typedef的话,又会造成区别:
struct Student
{
int a;
}stu1;//stu1是一个变量
typedef struct Student2
{
int a;
}stu2;//stu2是一个结构体类型
使用时可以直接访问stu1.a
但是stu2则必须先 stu2 s2;

然后 s2.a=10;

 还有更麻烦的就不说了

 

posted @ 2022-01-20 13:00  然终酒肆  阅读(42)  评论(0)    收藏  举报