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 == 5) goto stop1; // goto문의 사용
printf("for문의 %d번째 반복입니다. \n");
}
i++;
} while(i < 5);
// goto 문이 시작되면 점프되는 위치. 세미콜론(;)이 아니라 콜론(:)을 쓴다는 점에 주의!
stop1:
printf("프로그램을 종료합니다.");
} |
cs |
- goto문을 사용하는 구조는 프로그램을 모듈화하는 데 어려움이 있음.
- goto문이 여러 개 있을 경우 이해하기 어렵고, 디버깅하기 쉽지 않음.
- C언어 뿐만 아니라 C#과 같은 언어도 goto문을 제공함.
내용 출처 : C까기 (김희석 지음, 느린생각)
728x90
그리드형(광고전용)
'Programming > C' 카테고리의 다른 글
배열의 유형 및 선언 방법 (0) | 2021.05.08 |
---|---|
qsort 함수 : 퀵 정렬 라이브러리 함수 (0) | 2020.06.18 |
[C] 배열의 크기를 입력 받아 해당 크기의 배열 생성하기 (동적 할당) (0) | 2017.10.06 |
system 함수 : cls. pause (0) | 2017.09.22 |
실행 시간 측정 (clock() 이용) (0) | 2017.09.01 |
scanf와 ' '(공백) (0) | 2017.08.31 |
C 핵심 내용 정리 (0) | 2017.05.03 |
포인터 정리 (Arrangement of Single Pointer) in C (0) | 2017.04.17 |