找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

const修饰变量不可修改问题

查看数: 2456 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-1-17 13:21

正文摘要:

本帖最后由 李冬 于 2023-1-17 13:32 编辑 用const修饰变量不可修改,在执行到某一段代码时,我想修改这个变量,然后再把它修饰成不可修改,如何做。

回复

ID:466250 发表于 2023-2-5 18:28
fishafish 发表于 2023-1-20 14:30
我发现用const 声明的常量是存放在单片机代码区的(flash),运行时候不能改变的

这个要看编译器,有些是指定rom区域,有些只是声明不可修改。
ID:1059013 发表于 2023-1-20 14:30
我发现用const 声明的常量是存放在单片机代码区的(flash),运行时候不能改变的
ID:130230 发表于 2023-1-20 14:13
jizhongbiao 发表于 2023-1-20 14:02
const修饰的变量就是常量,只有不想更改才会用这个修饰。用指针可以改,尝试如下语句 int* ptr = &d; *ptr ...

这里还有一个需要注意的,只有const修饰的局部变量可以修改,全局变量不可以修改。主要是因为存储位置不同,想了解这部分内容可以了解一下编译和链接。
ID:130230 发表于 2023-1-20 14:02
const修饰的变量就是常量,只有不想更改才会用这个修饰。用指针可以改,尝试如下语句 int* ptr = &d; *ptr = 4;
ID:824490 发表于 2023-1-19 18:45
如果你能上百度,“const”就在第一条位置给出了说明:
“Const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变。。。。”
ID:94031 发表于 2023-1-17 20:50
要能修改不要用const修饰,用 static修饰。
ID:1043747 发表于 2023-1-17 19:11
类型转换

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表