相关疑难解决方法(0)

为什么本地变量的地址对于不同的执行是相同的?

int fun(int x);

int main()
{
    fun(10);
    fun(11);   
    return 0;
}

int fun(int x)
{
    int loc;//local variable
    cout<<&loc;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是

0xbfb8e610 
0xbfb8e610
Run Code Online (Sandbox Code Playgroud)

这里loc是一个局部变量,在第一次执行函数后超出范围f(10),然后再次分配给下一次执行fun(11).因此loc,根据我的理解,变量的地址必须不同.那么为什么&loc执行地址相同?

c++

1
推荐指数
1
解决办法
589
查看次数

标签 统计

c++ ×1