• 学习C语言-学习结构体


    <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; 一样

     

  • 相关阅读:
    1130 Host XXX is not allowed to connect to this MySQL server。
    解决IntelliJ IDEA控制台输出中文乱码问题
    安装VS 201 SP1的时候,停在了“正在安装VS10Sp1KB983509”处
    ubuntu下获得root权限并修改hosts+ubuntu设置windows效果的字体--成功
    K8S官方网站 标题索引(超链接)
    DolphinScheduler2.0执行流程MasterServer
    DolphinScheduler2.0.0源码分析过程(02)
    DolphinScheduler2.0.0源码分析过程(01)
    【2021年终总结】关于我7个月不再更新文章而转行去做产品这件小事
    利用TChart做分离饼形图
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/14701494.html
Copyright © 2020-2023  润新知