"goto" C 中的行为:如何处理符号?
"goto" behavior in C : how symbols are handled?
我想知道,在下面的代码中:
{
int i = 42;
goto end;
}
end:
当我们到达 end: 时,符号 i 的状态是什么(我们会在调试器中看到什么)?它是否仍然存在,即使我们超出了范围?有标准行为还是依赖于编译器?
为了示例,我们假设代码是使用带调试符号的 gcc 编译的。
此外,C++ 中的行为是否相同?
谢谢。
在一个块中声明的变量将"live"仅在该块中(是否使用goto无关紧要)。
此行为在 c++ 中是相同的
状态是...不可见(超出范围)。
我想知道,在下面的代码中:
{
int i = 42;
goto end;
}
end:
当我们到达 end: 时,符号 i 的状态是什么(我们会在调试器中看到什么)?它是否仍然存在,即使我们超出了范围?有标准行为还是依赖于编译器?
为了示例,我们假设代码是使用带调试符号的 gcc 编译的。
此外,C++ 中的行为是否相同?
谢谢。
在一个块中声明的变量将"live"仅在该块中(是否使用goto无关紧要)。
此行为在 c++ 中是相同的
状态是...不可见(超出范围)。