별의 공부 블로그 🧑🏻‍💻

goto문

Programming/C 2017. 9. 1. 16:49
728x90
728x170

*goto문

 

- 기존 어셈블리 코드에서 사용하는 기능을 상위 프로그래밍 언어에 접목시키는 과정에서 생겨난 기능.

- 무조건 원하는 레이블로 건너뛰는 기능을 함.

- 형식

 문장A;

 goto Label1;

 문장B;

 ...

 Label1:

 문장C; 

-> 문장A를 실행한 후에 바로 문장C를 수행. (문장 B는 실행 되지 않음.)

 

- 코드 예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main()
{
    int i, j;
    i = j = 0;
    printf("goto문의 테스트입니다.");
 
    do {
        printf("do-while문의 %d번째 반복입니다. \n", i);
        for(j = 0; j < 10; j++) {
            if(j == 5goto stop1;  // goto문의 사용
            printf("for문의 %d번째 반복입니다. \n");
        }
        i++;
    } while(i < 5);
 
// goto 문이 시작되면 점프되는 위치. 세미콜론(;)이 아니라 콜론(:)을 쓴다는 점에 주의!
stop1:
    printf("프로그램을 종료합니다.");
}
cs

 

- goto문을 사용하는 구조는 프로그램을 모듈화하는 데 어려움이 있음.

- goto문이 여러 개 있을 경우 이해하기 어렵고, 디버깅하기 쉽지 않음.

- C언어 뿐만 아니라 C#과 같은 언어도 goto문을 제공함.

 

내용 출처 : C까기 (김희석 지음, 느린생각)

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖