与指针内存分配有关

时间:2012-05-01 06:51:55

标签: c++

  

可能重复:
  Pointer to local variable
  Can a local variable's memory be accessed outside its scope?

int* fun()
{
    int i = 10;
    int*ptr = &i;
    return ptr;
}// variable i and ptr will be destroyed automatically as ctrl goes out of scope
void main()
{
    cout<<"i: "<<*(fun())<<endl;
    getch();
}
  

输出:i:10

我怀疑输出为i=10的原因。

根据我的理解,只要fun()超出范围,变量i就会被自动销毁,所以o / p应该是一些垃圾值......

我在Visual Studio 2008上执行了这个

0 个答案:

没有答案