C++ 为什么每次运行程序时都返回不同的值?0x3759F8B0-0x100

C++ 为什么每次运行程序时都返回不同的值?0x3759F8B0-0x100,c++,memory-address,C++,Memory Address,这对我来说并不是什么问题,但我刚开始考虑,我想我会问的。为什么每次运行程序时都会返回不同的值(0x3759F8B0-0x100) 一次是00AFFD00,下一次是006FFD48 test = 0x3759F8B0 - 0x100; cout << &test << endl; test=0x3759F8B0-0x100; 我想您的完整程序源代码如下 #include <iostream> using namespace std; int main

这对我来说并不是什么问题,但我刚开始考虑,我想我会问的。为什么每次运行程序时都会返回不同的值(0x3759F8B0-0x100)

一次是00AFFD00,下一次是006FFD48

test = 0x3759F8B0 - 0x100; 
cout << &test << endl;
test=0x3759F8B0-0x100;

我想您的完整程序源代码如下

#include <iostream>
using namespace std;
int main()
{
    int test;
    test = 0x3759F8B0 - 0x100; 
    cout << &test << endl;
}
#包括
使用名称空间std;
int main()
{
智力测验;
测试=0x3759F8B0-0x100;

难道你不能输出
测试变量的地址,而不是它的值吗?你的经验的基础是什么,它应该总是输出相同的值?你在datenwolf上做得很好!我自己多次想知道这个问题-我今天学到了一些惊人的地址空间布局随机化的新知识