C中,定义一个结构体变量必须要用typedef(只有这一种方式):
typedef struct Student
{
int a;
float b;
}Stu;
Stu s1; //结构体变量s1
s1.a=1; //变量s1结构a的值为1
s1.b=2;
而在C++中,有两种方式
方式一:不需要typedef即可定义
struct Student
{
int a;
float b;
}Stu;
Stu.a=1;
Stu.b=2.2;
可以直接用Stu.a;而不需要Stu s1;然后再s1.a;
方式二:用typedef定义
typedef struct Student
{
int a;
float b;
}Stu1;
Stu1 stu1;
stu1.a=1;
stu1.b=2;
总结:只要用了typedef,则C和C++都一样,不同的是C++多了一种不用typedef的方式。