结构是一些值的集合,这些值被称为成员变量,结构体的每个成员变量可以是不同类型的变量。
注意:数组是一组相同类型元素的集合,结构体成员可以是不同类型的。
1.结构体的声明:
struct tag //struct是关键字,tag是标签名 两者合起来是结构体类型
{
member-list; //成员列表
}variable-list; //变量列表
1.1声明解释:
1.struct是结构体的关键字
2.tag是结构体标签名
3.关键字+标签名是结构体的类型
4.member-list是结构体的成员列表
5.variable是结构体的成员列表
1.2结构体的特殊声明
不完全声明-匿名结构体类型
struct
{
char name[20];
int price;
char id;
} S;
1.省略了结构体的标签名
2.直接以匿名结构体类型创建了结构体变量S
3.在以下这种情况,编译器会把这两个声明当成不同的类型,是非法的
#include <stdio.h>
struct
{
char name[20];
int price;
char id;
} S;
struct
{
char name[20];
int price;
char id;
}* PS;
int main()
{
PS = &S;
return 0;
}
匿名结构体没有便签,不是一个完整的结构体类型,只能使用一次;
1.3举例-创建一个书的结构体类型:
结构是用来描述生活