这是我的导师提出的关于如何在方法函数中打印局部变量的主方法值的问题,当它是变量推送并从堆栈中弹出时(因为当方法函数调用它时,它是变量推送并且当它到达结束从堆栈中弹出时)然后它是局部变量存储回内存。
为什么 main 方法 print 100 ?
// Define a global pointer
int *ptr;
int method()
{
// Define a variable local in this method
int local = 100;
// Set address of local variable (name of variable is local)
// in the ptr pointer
ptr = &local;
return -1;
}
int main()
{
// Call method
method();
// Print value of ptr pointer
cout<<*ptr<<"\n";
return -1;
}