在C语言中定义结构体:
typedef struct Student
{
int name;
}Stu;
此时如要声明变量则可用如下语句:
Stu stu1;
如没有使用typedef,即:
struct Student
{
int name;
};
则在声明变量时用如下语句:
struct Student stu1;
总之,Stu为struct Student的别名 Stu == struct Student
另外,typedef struct还可以使用如下:
typedef struct
{
int name;
}Stu;
此时声明变量必须使用Stu stu1,不能使用struct Student stu1
在C++中定义结构体
struct Student
{
int name;
};
此时声明变量使用如下语句:
Student stu2;
在使用typedef时有如下区别:
struct Student
{
int name;
}stu2;//stu2为一个变量,可直接访问结构体内成员,如stu2.name
typedef struct Student
{
int name;
}stu2;//stu2为一个结构体类型,访问结构体成员需先实例化,如stu2 s, s.name