| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 170 人关注过本帖
标题:关于常量的问题,到底有几个地方存放着定义的常量,为什么我可以修改.
只看楼主 加入收藏
a451410
Rank: 2
等 级:论坛游民
帖 子:100
专家分:98
注 册:2018-3-4
结帖率:84.38%
收藏
已结贴  问题点数:10 回复次数:1 
关于常量的问题,到底有几个地方存放着定义的常量,为什么我可以修改.
如下图,我在main函数里面和外面分别定义了两个常量,并用char数组接受.
标红处是我的疑问,为什么我可以修改这两个数组内的值,为什么在函数内定义的会被重新拷贝一份,
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2024-11-22 20:16编辑过]

搜索更多相关主题的帖子: 存放 常量 定义 函数 修改 
2024-11-22 20:08
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:10 
首先,您使用的都是数组,而普通的没有const修饰的数组肯定是可以修改的。
其次,字符串常量这个东西,在现代C语言里的学名叫做字符串字面量。而修改字符串字面量的内容这个动作是未定义行为——就算是允许修改也并不违例。
最后,全局变量是编译期初始化的,普通局部变量是运行期初始化的,而字符数组的初始化自然就表现为字符串复制。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2024-11-22 21:12
快速回复:关于常量的问题,到底有几个地方存放着定义的常量,为什么我可以修改.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033570 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved