结构体
前言
我们在【C语言】操作符下中已经初步认识结构体,现在我们来更细致地了解下结构体。
1.为什么会有结构体
我们描述对象时,不能简单地用单一的类型来描述,比如描述一个学生的名字、年龄、性别和成绩等,所以就有了结构体。
2.结构体类型的声明
2.1结构的概念
结构,又叫结构体,是一些值的集合,这些值称为成员变量。不同于数组(一组相同元素的集合),结构的每个成员可以是不同类型的变量。
2.2结构体的声明
语法结构
struct tag(标签名,可根据需求改变)
{
menber-list;//成员列表
};variable-list;//变量列表
例子
描述一个学生
struct Student
{
char name[20];//这四个是成员变量
int age;
char sex[10];
float grade;
};
注意
struct Student仅仅是个类型,不是变量名,还没创建变量,相当于int,char,float等类型。
3.结构体的定义
如图,s1、s2、s3、s4、s5是我们在struct Student创建的变量。不同的是s4和s5是全局变量,s1和s2和s3是局部变量。
4.结构体的初始化
s1和s2都是初始化,初始化想数组一样都有大括号,且初始化的顺序可以不同,但不能写成s3那样,结构体变量应该同类型一起初始化。
5.结构体成员的访问
5.1打印结构体
访问结构体就用到我们在操作符中学到的结构体成员访问操作符(.)。
5.2结构体中的结构体
初始化时,有成员是结构体时,需要再加大括号。
当成员是结构体时,访问这个结构体成员时需要用两个访问操作符。
5.3结构体指针
结构体指针访问成员时用到->操作符,如本例中,vv指针先访问到结构体s,s通过(.)操作符访问到其成员。
总结
这期比较水,因为只是简单了解结构体,后期会更深入了解它的自引用和在内存中是如何存储的。感谢!