💻 프로그래밍/C, C++

[C] goto문

gameuiux 2024. 5. 25. 04:24
728x90
반응형

goto문

프로그래밍에서 특정 위치로 코드 실행을 바로 점프(jump)시키는 명령어

프로그램의 흐름을 제어할 때 사용되며, 대부분의 프로그래밍 언어에서 제공

하지만, 현대의 많은 프로그래밍 언어에서는 goto문을 사용하지 않는 것이 권장됨.

 

goto문의 기본적인 사용법

레이블 정의: 코드 내에서 점프할 위치를 정의
goto문 사용: 특정 조건이나 상황에서 해당 레이블로 점프
C 언어에서의 goto문 사용 예시

#include <stdio.h>

int main() {
    int i = 0;

    start: // 레이블 정의
    printf("i = %d\n", i);
    i++;
    
    if (i < 5) {
        goto start; // 레이블로 점프
    }

    printf("프로그램 종료\n");
    return 0;
}

 

i가 5보다 작을 때마다 start 레이블로 점프하여 i의 값을 출력하고

i가 5가 되면 프로그램을 종료한다.

 

장점

단순한 예제나 매우 제한적인 경우에 코드를 간결하게 만들 수 있다.
특정 조건에서 빠르게 프로그램 흐름을 변경해야 할 때 유용할 수 있다.

 

단점

프로그램의 흐름이 복잡해지며 유지보수가 어렵다.
코드의 가독성을 크게 떨어뜨린다.
버그의 원인이 될 수 있다.


현대 프로그래밍에서의 대안

대부분의 현대 프로그래밍 언어에서는 goto문의 사용을 지양하고,

대신 더 구조적인 제어 흐름 구조를 사용하도록 권장하고있다.

 

반복문(for, while)이나 조건문(if, switch), 함수 호출 등을 사용하여

같은 기능을 더 명확하고 안전하게 구현할 수 있다.

 

goto문의 대안

반복문: 반복적인 작업을 수행할 때.
함수 호출: 특정 작업을 함수로 분리하여 호출.
예외 처리: 오류나 특수한 상황에서의 흐름 제어.

 

 

goto문은 가능한 사용하지 않는 것이 좋으며,

더 나은 대안들을 활용하여 코드의 가독성과 유지보수성을 높이는 것이 좋다.

728x90
반응형