为什么数组前面加了const 表达式无法编译

[复制链接]
1795|32
 楼主| morrisk 发表于 2022-8-4 22:20 | 显示全部楼层 |阅读模式
为什么数组前面加了const 表达式无法编译
heweibig 发表于 2022-8-4 22:22 | 显示全部楼层
 楼主| morrisk 发表于 2022-8-4 22:24 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| morrisk 发表于 2022-8-4 22:26 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| morrisk 发表于 2022-8-4 22:28 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
dingy 发表于 2022-8-4 22:30 | 显示全部楼层
const定义的变量是不能修改的,保存在程序存储器中。
huangchui 发表于 2022-8-4 22:31 | 显示全部楼层
你这个好像不是const的问题哦...
zwll 发表于 2022-8-4 22:33 | 显示全部楼层
定义为const类型的, 编译器会把这些放到flash中去.
dingy 发表于 2022-8-4 22:35 | 显示全部楼层
是空间不够了。你优化下。
renyaq 发表于 2022-8-4 22:37 | 显示全部楼层
而不加const的变量, 通常是放到RAM里面的, 这2者有本质的区别的.
heweibig 发表于 2022-8-4 22:39 | 显示全部楼层
你看看不加const 你flash还剩多少空间
jiahy 发表于 2022-8-4 22:41 | 显示全部楼层

除非里边都是常量吧
jiajs 发表于 2022-8-4 22:44 | 显示全部楼层
常量里边不能存放变量吧
wyjie 发表于 2022-8-4 22:45 | 显示全部楼层
数据类型冲突了
dingy 发表于 2022-8-4 22:47 | 显示全部楼层
看来一定要注意数据类型的区别啊
wyjie 发表于 2022-8-4 22:51 | 显示全部楼层
不是空间不够的问题
 楼主| morrisk 发表于 2022-8-4 22:54 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家
chenqianqian 发表于 2022-8-5 08:21 来自手机 | 显示全部楼层
你又重新修改了值
一事无成就是我 发表于 2022-8-5 16:03 | 显示全部楼层
加上const是一个常量数组,只能读不能写,如果你实际使用中需要矫正这个数组中的成员数据,需要两个条件
1:这个数组直接指定存放的flash地址,注意flash擦除是一个页全部擦除的,可以一个字节一个字节的写
2:因flash的特殊擦除方式,存储的时候你必须缓存整个页的有用数据,然后修改要需要修改的成员,再写回去
重要的事情说三遍,const数据程序使用中只能读不能写,const数据程序使用中只能读不能写,const数据程序使用中只能读不能写
wwppd 发表于 2023-2-2 10:13 | 显示全部楼层
const常量不能被修改,为什么编译还能通过?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

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