打印

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

[复制链接]
1190|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
为什么数组前面加了const 表达式无法编译

使用特权

评论回复
沙发
heweibig| | 2022-8-4 22:22 | 只看该作者
图呢

使用特权

评论回复
板凳
morrisk|  楼主 | 2022-8-4 22:24 | 只看该作者

使用特权

评论回复
地板
morrisk|  楼主 | 2022-8-4 22:26 | 只看该作者

使用特权

评论回复
5
morrisk|  楼主 | 2022-8-4 22:28 | 只看该作者

使用特权

评论回复
6
dingy| | 2022-8-4 22:30 | 只看该作者
const定义的变量是不能修改的,保存在程序存储器中。

使用特权

评论回复
7
huangchui| | 2022-8-4 22:31 | 只看该作者
你这个好像不是const的问题哦...

使用特权

评论回复
8
zwll| | 2022-8-4 22:33 | 只看该作者
定义为const类型的, 编译器会把这些放到flash中去.

使用特权

评论回复
9
dingy| | 2022-8-4 22:35 | 只看该作者
是空间不够了。你优化下。

使用特权

评论回复
10
renyaq| | 2022-8-4 22:37 | 只看该作者
而不加const的变量, 通常是放到RAM里面的, 这2者有本质的区别的.

使用特权

评论回复
11
heweibig| | 2022-8-4 22:39 | 只看该作者
你看看不加const 你flash还剩多少空间

使用特权

评论回复
12
jiahy| | 2022-8-4 22:41 | 只看该作者

除非里边都是常量吧

使用特权

评论回复
13
jiajs| | 2022-8-4 22:44 | 只看该作者
常量里边不能存放变量吧

使用特权

评论回复
14
wyjie| | 2022-8-4 22:45 | 只看该作者
数据类型冲突了

使用特权

评论回复
15
dingy| | 2022-8-4 22:47 | 只看该作者
看来一定要注意数据类型的区别啊

使用特权

评论回复
16
wyjie| | 2022-8-4 22:51 | 只看该作者
不是空间不够的问题

使用特权

评论回复
17
morrisk|  楼主 | 2022-8-4 22:54 | 只看该作者
哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
18
chenqianqian| | 2022-8-5 08:21 | 只看该作者
你又重新修改了值

使用特权

评论回复
19
加上const是一个常量数组,只能读不能写,如果你实际使用中需要矫正这个数组中的成员数据,需要两个条件
1:这个数组直接指定存放的flash地址,注意flash擦除是一个页全部擦除的,可以一个字节一个字节的写
2:因flash的特殊擦除方式,存储的时候你必须缓存整个页的有用数据,然后修改要需要修改的成员,再写回去
重要的事情说三遍,const数据程序使用中只能读不能写,const数据程序使用中只能读不能写,const数据程序使用中只能读不能写

使用特权

评论回复
20
wwppd| | 2023-2-2 10:13 | 只看该作者
const常量不能被修改,为什么编译还能通过?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝