(英語が下手でごめんなさい。)
質問1。
void foo(void)
{
goto inside;
for (;;) {
int stack_var = 42;
inside:
...
}
}
ラベルに移動したstack_var
ときに割り当てられるスタック内の場所になりますか?つまり、変数inside
を正しく使用できますか?stack_var
...
質問2。
void foo(void)
{
for (;;) {
int stack_var = 42;
...
goto outside;
}
outside:
...
}
私がレーベルstack_var
に行くとき、割り当て解除のスタックの場所になりますか?たとえば、内でoutside
行うのは正しいですか?return
...
言い換えれば、goto
スタック変数を正しく操作するのに賢いのでしょうか(ブロックをウォークスルーするときの自動(割り当て解除))、それとも単なるばかげたジャンプですか?