【C语言】简单了解结构体


前言

我们在【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通过(.)操作符访问到其成员。


总结

这期比较水,因为只是简单了解结构体,后期会更深入了解它的自引用和在内存中是如何存储的。感谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当我们需要同时存储多个不同类型的数据时,可以使用C语言结构来定义一个自定义的数据类型。结构可以包含多个不同类型的成员变量,这些成员变量可以是基本数据类型,也可以是其他结构结构的定义通常放在函数之外,在需要使用的地方可以通过结构类型名来声明变量。 例如,下面是一个定义了三个成员变量的结构: ``` struct Student { int id; char name[20]; float score; }; ``` 在上面的例子中,我们定义了一个结构`Student`,它包含了三个成员变量,分别是`id`、`name`和`score`。其中`id`是一个整型变量,`name`是一个字符数组,`score`是一个浮点型变量。 我们可以在程序中声明这个结构类型的变量,并对其进行初始化: ``` struct Student stu1 = { 1001, "Tom", 90.5 }; ``` 在上面的例子中,我们声明了一个名为`stu1`的变量,它的类型是`Student`,并且对其进行了初始化,其中`id`的值是`1001`,`name`的值是`Tom`,`score`的值是`90.5`。 我们可以通过`.`运算符来访问结构中的成员变量,例如: ``` printf("The student's id is %d\n", stu1.id); printf("The student's name is %s\n", stu1.name); printf("The student's score is %.1f\n", stu1.score); ``` 在上面的例子中,我们使用`.`运算符来分别访问结构变量`stu1`中的`id`、`name`和`score`成员变量,并输出它们的值。 希望这个简单的介绍能够帮助你了解C语言结构

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值