다음을 통해 공유


goto 문 (C++)

goto 문은 무조건적으로 제어를 지정된 식별자에 의해 레이블이 붙은 문으로 전달합니다.

goto identifier;

설명

identifier에서 지정한 레이블이 붙은 문은 현재 함수여야 합니다. 모든 identifier 이름은 내부 네임스페이스의 멤버이므로 다른 식별자와 충돌하지 않습니다.

문 레이블은 goto 문에만 의미가 있으며, 다른 경우에는 문 레이블이 무시됩니다. 레이블을 다시 선언할 수 없습니다.

가능하면 goto 문 대신 break, continue 및 return 문을 사용하는 것이 더 좋은 프로그래밍 방식입니다. 그러나 break 문이 한 수준의 루프만 종료하기 때문에 깊이 중첩된 루프를 종료하려면 goto 문을 사용해야 할 수 있습니다.

레이블 및 goto 문에 대한 자세한 내용은 Labeled Statementsgoto 문을 사용하여 레이블 사용을 참조하십시오.

예제

이 예제에서 goto 문은 i가 3과 같을 경우 stop이라는 레이블로 제어를 전달합니다.

// goto_statement.cpp
#include <stdio.h>
int main()
{
    int i, j;

    for ( i = 0; i < 10; i++ )
    {
        printf_s( "Outer loop executing. i = %d\n", i );
        for ( j = 0; j < 2; j++ )
        {
            printf_s( " Inner loop executing. j = %d\n", j );
            if ( i == 3 )
                goto stop;
        }
    }

    // This message does not print: 
    printf_s( "Loop exited. i = %d\n", i );
    
    stop: 
    printf_s( "Jumped to stop. i = %d\n", i );
}
  

참고 항목

참조

점프 문 (C++)

C++ 키워드