28.7 while 반복문으로 무한 루프 만들기
이번에는 무한 루프를 만들어보겠습니다.
while_infinite_loop.c
#include <stdio.h> int main() { while (1) // while에 1을 지정하면 무한 루프 { printf("Hello, world!\n"); } return 0; }
실행 결과
... (생략) Hello, world! Hello, world! Hello, world! Hello, world! ... (계속 반복)
while에서 조건식 대신 1을 지정하면 무한히 반복하는 무한 루프가 만들어집니다. 따라서 조건식 자체가 없으므로 변화식도 필요 없습니다. 이 프로그램을 실행한 상태로 두면 Hello, world!는 끝나지 않고 계속 출력됩니다. 따라서 콘솔(터미널, 명령 프롬프트)에서 Ctrl+C를 입력하여 무한 루프를 끝냅니다.
무한 루프를 만들 때 다음과 같이 1대신 불값인 true를 넣기도 합니다.
while_infinite_loop_true.c
#include <stdio.h> #include <stdbool.h> // bool, true, false가 정의된 헤더 파일 int main() { while (true) // while에 true를 지정하면 무한 루프 { printf("Hello, world!\n"); } return 0; }
여기서는 stdbool.h 헤더 파일을 사용하여 while에 true를 지정하였습니다. 1대신 true를 사용해도 동작은 달라지지 않지만 코드의 의도를 좀 더 명확하게 표현할 수 있어서 자주 사용되는 방식입니다.
참고 | TRUE
stdbool.h 헤더 파일이 없던 시절에 작성된 코드의 경우 true대신 매크로로 정의한 TRUE를 사용하기도 합니다. TRUE, FALSE에 대한 자세한 내용은 '부록 12. 불 자료형'을 참조하세요.
while (TRUE)