两次去变量的地址不一样是为什么?
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 );
上面的部分是变量声明,下面的是调试的时候用于数据的语句。
下面的语句在两次数据中的值不一样。
有没有人碰到过这种问题呀?
求救!
------解决方案--------------------估计楼主想说,一样的程序,运行一次,打印一个地址,再运行一次,地址就变了。
这个可能是正常的。但是如果运行一次程序,打印一次,一个地址,再打印一次,地址就变了,那就不正常了。
------解决方案--------------------这两个变量是栈里面的,程序栈的初始地址是由操作系统装载程序时决定的。
如果变量是全局变量,则它们的地址是在程序被编译链接时决定的,与何时运行无关。