[应用相关] c语言 结构体 、数组的使用,定义的同时必须初始化,否...

[复制链接]
2408|12
 楼主| huangcunxiake 发表于 2018-12-7 09:13 | 显示全部楼层 |阅读模式
c语言 结构体 、数组的使用,定义的同时必须初始化,否者它们成员的数值会错乱,不是想象的样子



数组

unsigned char password[8]={'0','1','2','3','4','5','6','7'};



结构体

typedef struct
{      
    unsigned char   adjust_temperature_change;
    unsigned char   lock_flag;
    unsigned char   ctrl_Model;
    unsigned char   device_status;
    unsigned char   set_lower_temperature;
    unsigned char   set_upper_temperature;   
    unsigned char   legal_user_num;

}Device_info;

Device_info device_info={0,1,0,0,20,25,0};


yiyigirl2014 发表于 2018-12-7 10:51 | 显示全部楼层
是的,单片机内存小,更应该定义时候初始化
晓伍 发表于 2018-12-11 12:51 | 显示全部楼层
这个 普及了基本的常识
八层楼 发表于 2018-12-11 12:58 | 显示全部楼层
我极少用结构体 总用不明白
huzi2099 发表于 2018-12-11 13:00 | 显示全部楼层
没明白你想说啥,后面再初始化也可以呀
观海 发表于 2018-12-11 13:01 | 显示全部楼层
结构体大小如何确定呢
wakayi 发表于 2018-12-12 12:51 | 显示全部楼层
除了结构体 还有一个什么体来着?
renzheshengui 发表于 2018-12-12 12:54 | 显示全部楼层
好像叫共用体?
heimaojingzhang 发表于 2018-12-12 13:24 | 显示全部楼层
在使用的时候进行赋值不可以吗
 楼主| huangcunxiake 发表于 2018-12-18 18:23 | 显示全部楼层
heimaojingzhang 发表于 2018-12-12 13:24
在使用的时候进行赋值不可以吗

其实你什么时候赋值都不如定义时候,这个时候赋值就是烧录进芯片程序的时候写入的内容,而你后面的赋值是程序运行时候的赋值。你说哪个靠谱?肯定是先赋值的靠谱,这样内存中不会存在不确定数据。
xinpian101 发表于 2018-12-18 18:49 | 显示全部楼层
反正我学的时候老师也是这么说的。让定义时候起码给赋值个0
xinpian101 发表于 2018-12-18 18:52 | 显示全部楼层
如果不知道刚开始赋值什么就给个0
heimaojingzhang 发表于 2019-1-1 16:20 | 显示全部楼层
huangcunxiake 发表于 2018-12-18 18:23
其实你什么时候赋值都不如定义时候,这个时候赋值就是烧录进芯片程序的时候写入的内容,而你后面的赋值是 ...

我觉得分不出来哪里靠谱不靠谱 差不多都
您需要登录后才可以回帖 登录 | 注册

本版积分规则

223

主题

3745

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部