《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体

简介: 《C游记》 番外篇(贰)结构思维禅性稳 四众皆倡结构体

11.gif

目录

(壹) 结构体的声明

🦄 1.1 结构体的基础知识

🦄 1.2 结构的声明

🦄 1.3 结构成员的类型

(贰) 结构体变量的定义和初始化

(叁) 结构体成员的访问

(肆) 结构体传参


✅《C游记》 专栏 ✅  《小玄的C游之旅》


(壹) 结构体的声明

🦄 1.1 结构体的基础知识

结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

       在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量指针数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问


       在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。

       结构体在函数中的作用不是简便,其最主要的作用就是封装封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。

       总而言之,结构体的出现可以帮助我们更好地去描述一个复杂对象。


🦄 1.2 结构的声明1.png


例如,描述一个学生:

2.png


🦄 1.3 结构成员的类型

       结构的成员可以是标量、数组、指针,甚至是其他结构体。

       结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而通常这种指针的应用是为了实现一些更高级的数据结构如链表等。

3.png


(贰) 结构体变量的定义和初始化

4.png5.png



6.png


7.png


8.png2.gif

(叁)结构体成员的访问

       结构体变量访问成员 结构变量的成员是通过  点操作符(.) 访问的。点操作符接受两个操作数。 例如:9.png我们可以看到  s 有成员   name  和  age  ; 那我们如何访问s的成员? 10.png


结构体指针访问指向变量的成员 有时候我们得到的不是一个结构体变量,而是指向一个结构体的指针。那该如何访问成员?

如下:

11.png


(肆) 结构体传参

直接上代码,大家判断一下下面的  print1  和  print2  函数哪个好些?111.png


112.png简单来说:一个是传值调用(1),一个是传址调用(2)

这样可以避免重复生成大块的结构体空间,提高效率


结论: 结构体传参的时候,要传结构体的地址。6.gif7.gif

目录
相关文章
|
开发工具 git C++
【git 实用指南】git下载、拉取 代码
【git 实用指南】git下载、拉取 代码
2701 2
|
Ubuntu Java
百度搜索:蓝易云【Ubuntu22系统安装OpenJDK详细教程。】
现在,你已经成功在Ubuntu 22系统上安装了OpenJDK。你可以使用Java命令执行Java程序,并进行Java开发。
264 0
c++primer Plus 6 的课后题(第三章3.6)
c++primer Plus 6 的课后题(第三章3.6)
100 2
|
设计模式 API 图形学
Unity精华☀️ 「设计模式」的终极详解!
Unity精华☀️ 「设计模式」的终极详解!
|
传感器 数据可视化 定位技术
压路机土方压实摊铺精确施工引导系统
压路机土方压实摊铺精确施工引导系统
171 1
学生信息管理系统(C++实现)
学生信息管理系统(C++实现)
179 0
|
设计模式 算法 测试技术
信管知识梳理(三)软件工程相关知识
软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生成率、提高软件质量、降低软件成本。
219 1
信管知识梳理(三)软件工程相关知识
|
XML 存储 JSON
【工作中问题解决实践 四】动态解析Json结构最佳实践(下)
【工作中问题解决实践 四】动态解析Json结构最佳实践(下)
345 0
|
机器学习/深度学习 分布式计算 并行计算
单机超越分布式?!强化学习新姿势,并行环境模拟器EnvPool实现速度成本双赢
单机超越分布式?!强化学习新姿势,并行环境模拟器EnvPool实现速度成本双赢
387 0
|
弹性计算 Linux 开发工具
阿里云服务器学生免费领取指南
2023年阿里云服务器学生免费领取指南,阿里云学生服务器优惠活动:高效计划,可以免费领取一台阿里云服务器,如果你是一名高校学生,想搭建一个linux学习环境、git代码托管服务器,或者创建个人博客网站记录自己的学习成长历程,拥有一台云服务器是很有必要的。阿里云的飞天加速计划3.0——高校计划,面向学生开发者提供免费的云服务器福利,通过学生身份认证及续费任务后,最多可领取7个月免费云服务器ECS资源