
goto문은 프로그램의 흐름을 특정 위치로 이동시키는 문법입니다. goto문은 다음과 같은 경우에 사용할 수 있습니다.
1. 에러 처리: 프로그램이 에러를 발생시키면 goto문은 에러 처리 루틴으로 이동시켜 에러를 처리할 수 있습니다. 예를 들어, 프로그램이 파일을 열 수 없을 때 goto문은 에러 처리 루틴으로 이동시켜 에러 메시지를 출력할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
goto error;
}
// 파일 읽기 코드
fclose(file);
return 0;
error:
printf("파일을 열 수 없습니다.n");
return 1;
}
2. 반복문: goto문은 반복문에서 특정 루프를 빠져나올 때 사용할 수 있습니다. 예를 들어, 프로그램이 특정 조건을 만족할 때까지 루프를 반복할 때 goto문은 루프를 빠져나올 수 있습니다.
#hostingforum.kr
c
#include
int main() {
int i = 0;
while (i < 10) {
printf("%dn", i);
i++;
if (i == 5) {
goto exit;
}
}
return 0;
exit:
printf("루프를 빠져나왔습니다.n");
return 0;
}
3. 함수 호출: goto문은 함수를 호출할 때 사용할 수 있습니다. 예를 들어, 프로그램이 특정 함수를 호출해야 할 때 goto문은 함수 호출 코드를 이동시켜 함수를 호출할 수 있습니다.
#hostingforum.kr
c
#include
void printHello() {
printf("Hello, World!n");
}
int main() {
printHello();
return 0;
}
goto문과 함께 사용할 수 있는 다른 문법은 다음과 같습니다.
* label: goto문은 label을 사용하여 프로그램의 흐름을 이동시킬 수 있습니다. label은 goto문과 함께 사용하여 프로그램의 흐름을 이동시킬 수 있습니다.
#hostingforum.kr
c
#include
int main() {
int i = 0;
while (i < 10) {
printf("%dn", i);
i++;
if (i == 5) {
goto exit;
}
}
return 0;
exit:
printf("루프를 빠져나왔습니다.n");
return 0;
}
* break: goto문은 break문과 함께 사용하여 반복문을 빠져나올 수 있습니다. break문은 반복문을 빠져나올 때 goto문과 함께 사용하여 프로그램의 흐름을 이동시킬 수 있습니다.
#hostingforum.kr
c
#include
int main() {
int i = 0;
while (i < 10) {
printf("%dn", i);
i++;
if (i == 5) {
break;
}
}
return 0;
}
goto문은 프로그램의 가독성과 유지보수성을 떨어뜨리는 단점이 있습니다. 따라서 goto문은 프로그램의 흐름을 변경할 때 사용할 때 주의하여 사용해야 합니다.
2025-06-10 18:12