两次去变量的地址不一样是为什么?

一般般__6133 2014-01-19 10:42:08
c_data_event_node event_processing_head;
c_data_event_node event_finished_head;

------------------------------------------------

fprintf( stderr , "\n--------processing_head :%x \n" , &event_processing_head );
fprintf( stderr , "--------processed_head :%x \n" , &event_finished_head );



上面的部分是变量声明,下面的是调试的时候用于数据的语句。
下面的语句在两次数据中的值不一样。
有没有人碰到过这种问题呀?
求救!
...全文
256 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一般般__6133 2014-02-28
  • 打赏
  • 举报
回复
感谢回帖! 是编译器不稳定吧 !后来又好了 我什么都没改,重新启动了一下 重新编译一下就好了!
YTerrenceLau 2014-01-20
  • 打赏
  • 举报
回复
估计楼主想说,一样的程序,运行一次,打印一个地址,再运行一次,地址就变了。 这个可能是正常的。但是如果运行一次程序,打印一次,一个地址,再打印一次,地址就变了,那就不正常了。
非凡glj 2014-01-20
  • 打赏
  • 举报
回复
楼主如果是说2次执行,变量地址是在运行时动态分配的,肯定地址每次运行都是不一样的
mayer 2014-01-20
  • 打赏
  • 举报
回复
两个不同的变量,地址不一样是正常的啊,lz想表达什么?
Hony杨 2014-01-20
  • 打赏
  • 举报
回复
这两个变量是栈里面的,程序栈的初始地址是由操作系统装载程序时决定的。 如果变量是全局变量,则它们的地址是在程序被编译链接时决定的,与何时运行无关。
拼命小狼君 2014-01-20
  • 打赏
  • 举报
回复
输出变量的地址,然后运行两次地址不同是很正常的吧,要是相同的话才见鬼了呢,表示这个问题很蛋疼

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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