首页
新闻
小组
威客
人才
下载
博客
代码贴
在线编程
论坛
注册
|
登录
const变量的副本
作者在 2008-10-16 23:51:05 发布以下内容
const int ii = 3;
int *pi = (int *)ⅈ
*pi = 4;
赋给指针的是const的副本
也就是没有 改变 const的值,只是改变了副本的值
基础知识
| 阅读 4973 次
收藏
文章评论,共5条
夜风依旧
2008-10-19 17:16
1
不是什么副本的问题,在编译的时候,在代码段所有用到常量ii = 3的地方 直接将它编译成3 放在指令中做立即数,不是通过地址间接访问的,而实际上ii存储在常量存储区,pi通过地址访问到了ii,并且修改了内容,所以事实上确实常量被篡改了。
赞
回复
vfdff
(作者)
2008-10-20 22:16
2
<div class="quote"><span class="q"><b>夜风依旧</b>: 不是什么副本的问题,在编译的时候,在代码段所有用到常量ii = 3的地方 直接将它编译成3 放在指令中做立即数,不是通过地址间接访问的,而实际上ii存储在常量</span></div>被改了?那为什么 ii 仍旧等于 3 ??
赞
回复
夜风依旧
2008-10-20 23:52
3
输出的其实是代码指令中的立即数,根本没有访问数据段数据
赞
回复
夜风依旧
2008-10-20 23:52
4
学了汇编就知道了
赞
回复
vic2008
2008-10-21 12:24
5
都是高手,我一点儿也听不懂!
赞
回复
游客请输入验证码
vfdff的博客
vfdff
浏览1979739次
文章分类
默认分类(6)
技术(102)
基础知识(71)
实例(7)
编码(9)
生活(4)
数据结构(7)
未验证(9)
交际(5)
晋级(1)
图像(6)
软件(16)
资料(9)
DOS 命令(1)
经验(23)
算法(12)
感情(1)
汇编(6)
MFC(3)
求职(2)
专业术语(4)
linux(10)
协议(7)
脚本语言(2)
matlab(1)
文章归档
2022年06月(1)
2013年06月(1)
2013年01月(2)
2012年08月(4)
2012年07月(1)
2011年12月(2)
2011年08月(2)
2011年04月(2)
2011年01月(2)
2010年11月(1)
2010年10月(1)
2010年09月(5)
2010年08月(14)
2010年07月(18)
2010年06月(10)
2010年05月(3)
2010年01月(3)
2009年10月(8)
2009年09月(11)
2009年08月(7)
2009年07月(8)
2009年06月(7)
2009年05月(4)
2009年04月(1)
2009年03月(9)
2009年02月(6)
2009年01月(4)
2008年12月(11)
2008年11月(20)
2008年10月(37)
2008年09月(26)
2008年08月(17)
2008年07月(4)
2008年06月(21)
2008年05月(18)
2008年04月(31)
2007年08月(1)
2007年07月(1)
展开
收起
最新评论
言察它季
:将mpc, mpfr, gmp 等放到gcc目录下后,可以一键式构建配置 Configure...
vfdff
:~/.i18n文件: LANG=zh_CN.GB18030 LANGUAGE=en_U...
qq372505855
:很好的一篇文,希望能写个全局注入
vfdff
:http://ftp.gnu.org/gnu/gcc/gcc-4.7.2/
vfdff
:Angelo Graziosi schrieb: I want to flag that ...
vfdff
:D:\Program_Files\cygwin\bin\ash.exe 并输入:/bin/r...