我想知道爲什麼局部變量不會被重新創建,如果函數被調用?局部變量 - 重新創建
#include <iostream>
using namespace std;
void func(void)
{
int a = 0;
cout << &a << endl;
}
int main(void)
{
func();
func();
func();
func();
system("pause");
return 0;
}
爲什麼可變a
映射每一次到相同的內存地址?
因爲該var是在堆棧上創建的,並且通過代碼的結構,每次調用該函數時,該特定內存塊總是以完全相同的順序使用/釋放。 –
爲什麼不呢? –
請提供參考標準要求不同地址的地方嗎?然後,它保證使用相同的地址。 – Olaf