goto 문
정의
- 프로그램의 실행 흐름을 지정한 레이블(label) 위치로 즉시 무조건 이동시킨다.
- 사용이 권장되지 않는다.
표현 방법
1
2
3
4
5
6
| ...
goto label; // goto를 만나면
...
lable: // 해당되는 label로 즉시 이동해
statement // 그 다음 문장을 실행시킨다.
|
주의사항
goto 명령과 이동 목표지점 label은 동일한 블록에 있어야 한다.
예시
모범 사례
1
2
3
4
5
6
7
8
9
10
| void something{
int a = 1;
goto some_label;
a *= 20;
some_label:
a *= 10;
printf("%d", a)
}
|
주의 - goto 와 label 이 동일 블럭에 있어야 한다.
1
2
3
4
5
6
7
8
9
10
11
| void another() {
some_label:
printf("여기로 점프했습니다.\n");
}
void something(){
int a = 1;
goto some_label; // 에러 발생
a *= 20;
printf("%d", a);
}
|
Reference
C 프로그래밍 (김형근, 곽덕훈, 정재화 공저)
C 프로그래밍 강의 (방송통신대 - 이병래)
Comments