본문 바로가기
IT/c언어

C 언어의 goto 문

by 뉴코딩맨 2023. 7. 11.
C 언어에서 goto 문은 레이블로 표시된 문장으로의 무조건적인 이동을 제공하는 구문입니다. goto 문의 사용법과 예제를 통해 자세히 알아보겠습니다.
 
 

goto 문의 구조

goto 문은 다음과 같은 형식을 갖습니다.
 
goto label;
 
 
여기서 label은 식별자로 표시된 레이블입니다. goto 문은 실행 흐름을 레이블로 표시된 문장으로 이동시킵니다.
 

goto 문의 사용 예제

다음은 goto 문의 예제입니다. 예제에서는 사용자로부터 입력받은 숫자가 양수인 경우 "양수입니다"라는 메시지를 출력하고, 그렇지 않은 경우에는 "음수입니다"라는 메시지를 출력합니다.
 
#include <stdio.h>

int main() {
    int number;

    printf("숫자를 입력하세요: ");
    scanf("%d", &number);

    if (number >= 0) {
        goto positive;
    } else {
        goto negative;
    }

positive:
    printf("양수입니다.\n");
    goto end;

negative:
    printf("음수입니다.\n");
    goto end;

end:
    return 0;
}
 
위 예제에서는 사용자로부터 입력받은 숫자가 양수인지 음수인지를 판별하여 해당하는 메시지를 출력합니다. if 문을 사용하여 숫자가 양수인 경우 positive 레이블로 이동하고, 음수인 경우 negative 레이블로 이동합니다. 해당하는 레이블로 이동한 후 해당하는 메시지를 출력하고, 마지막으로 end 레이블로 이동하여 프로그램을 종료합니다.
 
 

goto 문의 주의사항

goto 문은 프로그램의 흐름을 복잡하게 만들 수 있으므로 신중하게 사용해야 합니다. 지나치게 많이 사용하거나 잘못 사용하면 코드의 가독성을 저하시키고 유지 보수를 어렵게 만들 수 있습니다. 따라서 goto 문의 사용은 최소화하고 다른 구문들을 활용하여 프로그램을 구조화하는 것이 권장됩니다.
 

결론

goto 문은 레이블로 표시된 문장으로의 무조건적인 이동을 제공하는 구문입니다. 조건에 따라 프로그램의 실행 흐름을 원하는 위치로 이동시킬 수 있습니다. 그러나 goto 문의 사용은 신중하게 고려해야 하며, 코드의 가독성과 유지 보수성을 고려하여 다른 구문들을 활용하는 것이 좋습니다.
 

댓글