(Извините за плохой английский.)
Вопрос 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 умный для правильной работы со стековыми переменными (автоматическое (деление) при прохождении через блоки), или это просто глупый прыжок?
