请教一个问题,一个变量,在赋值后,总是为0x004053a0这是怎么回事情

vsweaver 2009-03-12 10:10:09
请教一个问题,一个变量,在赋值后,总是为0x004053a0这是怎么回事情
int kp=0;int lk=0;k=0;
只有lk是这样的。kp 和k都是可以的
对的,我在step的调试的时候,发现只有lk=0x004053a0的值不会变。
内存地址就是0x004053a0,为什么一个变量会是内存地址。
我现在根本不知道是怎么会事情。
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kostion 2009-03-12
  • 打赏
  • 举报
回复
和编译器有关。变量名只是一个别名,代号,谁的别名代号呢。就是一块内存空间的。至于已经赋值为0了,他的还是0x004053a0,我觉得不应该
tangshuiling 2009-03-12
  • 打赏
  • 举报
回复

如果楼主是win32系统,估计lk是个全局或静态变量,只有全局或静态变量才是这种4字开头的地址,
栈地址一般是1字开头的,用鼠标点击到变量前面显示内存地址这无可厚非
oyljerry 2009-03-12
  • 打赏
  • 举报
回复
仔细查看一下编译器调试的时候里面的值,而且最好用debug模式
chin_chen 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 vsweaver 的帖子:]
请教一个问题,一个变量,在赋值后,总是为0x004053a0这是怎么回事情
int kp=0;int lk=0;k=0;
只有lk是这样的。kp 和k都是可以的
对的,我在step的调试的时候,发现只有lk=0x004053a0的值不会变。
内存地址就是0x004053a0,为什么一个变量会是内存地址。
我现在根本不知道是怎么会事情。
[/Quote]
内存地址是内存地址,怎么变量是内存地址?你怎么发现“发现只有lk=0x004053a0的值不会变”?调试的时候,编译器会带一些变量信息的,你说的那个估计是编译器提示它的地址,并非它的值!

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧