和int char一样struct也是一种数据类型,也可以声明变量--结构变量。
定义结构体变量的一般格式为:struct 结构名{ 类型 变量名; 类型 变量名; ...}结构变量;
另一种常用的格式为:
typedef struct 结构名{ 类型 变量名; 类型 变量名; ...}结构别名;
结构名是结构的标识符,它不是结构变量名,可加可不加。
Struct 在C语言中有下面四种用法:
1.
struct{ int num; char name;}Stu;
Stu是这个结构体的结构变量,不能再声明其他结构变量,
只能直接访问 Stu.num;2.
struct Student{ int num; char name;}Stu;
必须使用struct Student声明struct变量
struct Student Stu1; Stu1.num; 而Stu已经被声明成struct变量可直接访问 Stu.num;3.
typedef struct{ int num; char name;}Stu;
Stu相当于 struct{}的别名,可以声明struct变量。
Stu Stu1; Stu1.num;4.
typedef struct Student{ int num; char name;}Stu;
struct Student Stu1;
Stu1.num; 有typedef后,Stu相当于struct Struct{}的别名,可以声明struct变量 Stu St2; St2.num;在c++中很简单,直接
struct Student{ int num; char name;}Stu;
申明变量时可直接 Student Stu1;
而Stu还是struct变量,可直接访问Stu.num; 在c++中使用typedef赋别名也和C中一样,只不过它可直接使用结构名,命名结构变量。