我编写了一个真正简单的hello world应用程序并定义了一个变量,但是每次启动该应用程序时,变量(&i)的地址都不同。我可以知道原因吗?
int i = 23444;
int b = 0;
std::cout << &i;
std::cout << "Hello World!\n";
std::cin >> b;
std::cout << i;
答案 0 :(得分:1)
变量的地址是相对于调用线程的堆栈的,该线程在创建线程时动态分配。因此,每次运行程序时,程序的堆栈都会获得不同的基本内存地址。