我知道在函数X中定义的局部变量被压入堆栈,函数返回时,退出堆栈,局部变量就不存在,变量窗口的值显示“out of scope",我现在的疑问就是说如果在这个函数里再去调用另一个函数Y时,在程序运行到被凋函数Y时,在函数X定义的局部变量是否还是存在的,因为我在函数Y里设了个断点,运行到断点时,函数X的局部变量也是显示“out of scope",然后返回到函数X时,局部变量的值还是调用函数Y前的值,是不是说这个函数X的局部变量在调用函数Y的过程一直是存在的?也就是说调用函数Y后函数X的局部变量有没有推出堆栈,跟函数X返回后局部变量退出堆栈的情况应该不一样的把?
描述的有点复杂,请大家帮我耐心解答以下 |