C++内存分配的问题

来源:百度知道 编辑:UC知道 时间:2024/09/20 23:46:30
int i=0;
int *p=&i;
cout << p << endl;
每次编译发现这个存储变量i的地址值是一模一样的
我想问下 到底是为什么
难道每次分配都恰巧分配到这个内存上了吗
每次编译 i在内存中的地址都应该会有所不同才对

不是1楼说的这个原因
这个等你学了操作系统就知道了,你看到的内存地址不是真的地址,只是C++虚拟机上的,每个C++虚拟机都是一样的,当然相同的代码,执行下来分配到的内存地址是一样的,这个内存不是真的内存,还需要操作系统给他分配真正的内存

你用了& 赋值这属于引用,当然指向同一地址空间,你可以查一下引用相关知识,具体在这不好说