首页 > 编程语言 > 详细

学习C语言-学习结构体

时间:2021-04-25 23:33:17      阅读:30      评论:0      收藏:0      [点我收藏+]

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnC" frameborder="0" scrolling="auto" width="100%" height="500"></iframe></p>

 

先来看一个实际的问题

话说有一个项目上有4个传感器,温度,湿度,水位,光照强度,

然后呢各个传感器还有设置报警的阈值范围

一般都是这样写

技术分享图片

 

 

 

 

 

然后项目上还需要记录其它变量

技术分享图片

 

 

然后过了几天又增加了个PH值的传感器

技术分享图片

 

 

 

然后过了几天,每个传感器还需要加个是不是正常工作的标志

技术分享图片

 

 

 

 

然后又增加了5个传感器 温度,湿度,水位,光照强度,PH

技术分享图片

 

 

 

然后又增加了5个传感器 温度,湿度,水位,光照强度,PH

截图截不开了....

技术分享图片

 

 

满屏的变量......

满屏的变量......

满屏的变量......

 

在项目刚开始做的时候如果不能未雨绸缪.接着干下去整个程序代码别说维护了

就是接着写都让人头疼!!!满屏的变量...

 

然后搞C语言那帮家伙就造了个功能 struct

1.结构体就是可以把变量包含到里面的东西.

struct 就代表要定义一个结构体

sensors 是这个结构体的名字

然后是一个大括号 {}

大括号里面就随意定义变量啦,我是按照前面说的需求定义的

技术分享图片

 

 

怎么使用里面的变量呢?

注意结构体是一个数据类型!!!!就像是int char 一样的这种类型

既然是一种数据类型,那么就可以用这个数据类型定义变量

定义一个该结构体的变量

技术分享图片

 

 

不要问我为啥要那样子定义,你去问造C语言的那帮家伙去!!!!问问他们为啥要设计成这样子!!!

 

 

然后操作结构体变量里面的成员变量

 

技术分享图片

 

 

技术分享图片

 

 

有人会问为啥是 结构体变量 中间加个点 ???

你去问造C语言的那帮家伙去!!!!问问他们为啥要设计成这样子!!!

 

 

2.其实定义结构体变量可以下面这样子

技术分享图片

 

 

 

 

也可以定义多个

技术分享图片

 

 

技术分享图片

 

 

发现了没,每个结构体变量都是单独拥有结构体里面的全部成员变量.

就像是最一开始说的,如果再增加一套 温度,湿度,光照,水位传感器,

使用结构体的话只需要再定义一个结构体变量即可.

 

先补充下 typedef

typedef 是可以把一个数据类型取一个别的名字

typedef {数据类型}  {别的名字}

 

技术分享图片

 

 

 

注意下:

1.下面的代表了这个结构体数据类型

技术分享图片

 

 

2.给这个数据类型起一个别名

注意是三部分哈,  typedef  {数据类型}  {别的名字}

所以  sensor 就代表了这个结构体了

技术分享图片

 

 

3.以后定义结构体变量的时候

技术分享图片

 

 

 

 

 

 4.然后呢结构体名字可以省略

技术分享图片

 

 

 

 

结构体变量可以放任何变量(列如 int型指针)

技术分享图片

 

 

技术分享图片

 

 

 

 

 

 

结构体变量可以放任何变量(列如 函数指针)

 

技术分享图片

 

 

 

技术分享图片

 

 

 

 

 

结构体变量可以放任何变量(列如 结构体变量)

技术分享图片

 

 

技术分享图片

 

 

 

 

然后是结构体指针

1.结构体是一个数据类型,数据类型当然也可以定义对应的指针变量啦.

 

就像是int 类型可以定义 int *add; 一样

技术分享图片

 

 

技术分享图片

 

 

 

 

学习C语言-学习结构体

原文:https://www.cnblogs.com/yangfengwu/p/14701494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!