Language/C, C++

[C] goto

Phulasso 2020. 12. 8. 06:55

goto는 프로그램의 흐름을 원하는 위치로 이동시킬 때 사용하는 키워드이다. goto는 프로그램의 자연스러운 흐름을 방해한다는 이유와, goto를 사용했을 때의 이점이 크지 않기 때문에 goto의 사용에 대한 인식은 부정적이다.

 

goto 키워드로 레이블을 지정하면 지정한 위치로 코드의 흐름을 이동시킨다.

#include <stdio.h>

int main(void)
{
    int num;
    printf("input number : ");
    scanf("%d", &num);

    if(num==1)
        goto ONE;
    else if(num==2)
        goto TWO;
    else
        goto OTHER;
    
ONE:
    printf("input 1\n");
    goto END;
TWO:
    printf("input 2\n");
    goto END;
OTHER:
    printf("input other num\n");
    goto END;

END:
    return 0;
}

위 코드와 같이 레이블은 실행하는 코드가 아닌 위치를 표시하는 역할로 사용되기 때문에 왼쪽 정렬시켜 구분하기 쉽게 한다.