C中的"goto"行为:如何处理符号?

Vul*_*rao 3 c symbols goto

我想知道,在以下代码中:

{
    int i = 42;
    goto end;
}
end:
Run Code Online (Sandbox Code Playgroud)

当我们到达终点时,符号i的状态是什么:(我们在调试器中会看到什么)?它是否仍然存在,即使我们超出了范围?是否存在标准行为或是否依赖于编译器?

为了示例,我们假设代码是使用带有调试符号的gcc编译的.

辅助地,C++中的行为是一样的吗?

谢谢.

Dr.*_*itz 7

已在块中声明的变量将仅在该块中"存活"(如果您使用goto,则无关紧要).

这种行为在c ++中是相同的