在另一个方法中访问一个方法的局部变量C ++

时间:2018-02-12 22:14:22

标签: c++ local-variables

嗯,他们说在函数或块中声明的变量被称为具有局部范围,即这些变量只能在声明这些变量的函数或块中使用。

但是,在运行以下程序后,我得到了奇怪的结果。

int* ptr = NULL;

void Func()
{
     int x = 10;
     ptr = &x;
}    


int main()
{
    Func();
    cout << *ptr << "\n";        // prints 10

    *ptr = 555;
    cout << *ptr << "\n";        // prints 555

    return 0;
}

我在main()中访问了变量“x”(在Func()中声明)。我能够在main()中读取和写入此变量。 我在Visual Studio 2015上运行了代码。

发生了什么事?

0 个答案:

没有答案