| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:同一个地址 不同的值。。。
只看楼主 加入收藏
sunspirit
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-4-10
收藏
 问题点数:0 回复次数:9 
同一个地址 不同的值。。。
本想试试通过操作地址 改变const的值 却发现。。。
运行下就知道了。。。
int main(){
const int i =20;
long x = (long)&i;
int *y = (int *)x;
*y = 4;
cout << y <<endl;
cout << *y <<endl;
cout <<&i <<endl;
cout << i <<endl;
}

结果是:
0012FF7C
4
0012FF7C
20

麻烦解释下 谢谢~

[此贴子已经被作者于2007-4-25 13:48:31编辑过]

2007-04-25 13:26
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 



Fight  to win  or  die...
2007-04-25 13:41
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

你把const去掉试试,好像两个变量放的地方不同,一个在静态储存区,一个在动态储存区


雁无留踪之意,水无取影之心
2007-04-25 17:32
幽灵嫖客
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-1-15
收藏
得分:0 
以下是引用PcrazyC在2007-4-25 17:32:23的发言:

你把const去掉试试,好像两个变量放的地方不同,一个在静态储存区,一个在动态储存区

不同地方为什么地址一样?


C primer plus
2007-04-25 18:14
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

<<More Exceptional C++ >> 里说过:

你可以取一个const符号常量的地址:对于基本数据类型的const常量,编译器会重新在内存中创建它的一个拷贝,你通过其地址访问到的就是这个拷贝而原始符号常量;

程序代码:

...

const long lng = 10;

long *pl = (long*)&lng; //去取常量地址

*pl = 1000; //“迂回修改”

cout << *pl << endl; //1000,修改拷贝

cout << lng << endl; //10,原始常量并没有修改

...


unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2007-04-25 19:19
Arcticanimal
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:341
专家分:20
注 册:2007-3-17
收藏
得分:0 
原来如此,也受教了

try new catch
2007-04-25 19:39
UnDead
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-4-7
收藏
得分:0 

有意思!!


2007-04-30 15:00
UnDead
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-4-7
收藏
得分:0 
回复:(unicorn)

顶一个~~~~


2007-04-30 15:10
未入流小菜鸟
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-5-1
收藏
得分:0 
学习了。。。
2007-05-01 14:12
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 


这就是指针的高深所在.

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-01 14:23
快速回复:同一个地址 不同的值。。。
数据加载中...
 
   



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

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