C++中全局变量的地址是在编译的时候计算出来的,那么是怎么算出来的呢?

来源:百度知道 编辑:UC知道 时间:2024/05/24 16:53:30
我是在想: 任何程序只是在运行的时候才被调入内存,那么编译器怎么可能在编译的时候计算出全局变量的地址呢?
请高手指点!
多谢!

程序一般有代码段,数据段,堆栈等

全局变量放在程序的数据段,使用相对地址就可以索引

楼上所言不错,
另外,编译得到的地址并非真实地址;
就像比如你声明了某个变量 int i;
然后输出&i,这样肯定输出一个16进制字符串,表示地址,但却不是实际内存地址