C/C++ 실행 구조의 핵심인 메인 함수의 역할과, 프로그램이 지속해서 동작할 수 있도록 만들어주는 반복문(Loop)의 개념 및 사용법에 대해 알아본다.
1. 메인 함수(Main Function)와 프로그램 생명주기
C/C++에서 main() 함수는 프로그램의 진입점(Entry Point)이자 시작점이다.
-
프로그램 실행 흐름
-
프로그램이 시작되면 가장 먼저
main()함수가 호출된다. -
main()함수 내부에서 필요에 따라 다른 사용자 정의 함수(예:Add()등)를 호출하여 처리 결과를 받아온다. -
main()함수의 모든 코드가 실행을 마치고 반환(return)되면 프로그램 전체가 함께 종료된다.
-
❓ 일반 프로그램은 왜 바로 종료되지 않고 계속 실행될까?
게임이나 일반 응용 프로그램은 사용자가 직접 끄기 전까지 계속 실행된다. 이는
main()함수 내부 전체를 감싸고 있는 **거대한 반복문(메인 루프)**이 존재하여 지속적으로 코드를 유지하기 때문이다.
2. 반복문: for문과 while문
특정 조건이 참(true)인 동안 코드 블록을 반복적으로 수행할 때 사용하며, 대표적으로 for문과 while문이 있다.
① for문
반복 횟수가 비교적 명확할 때 자주 사용하며, 초기화식, 조건식, 증감식이 한 줄에 작성되어 구조가 깔끔하다.
#include <stdio.h>
for (int i = 0; i < 10; i++) {
// i가 0부터 9까지 1씩 증가하며 총 10회 반복 실행
printf("out test %d\n", i);
}
-
동작 순서: 초기화 (최초 1회) 조건 체크 코드 수행 증감식 수행 조건 체크 반복
-
for문 내부에서 선언된 변수i는 해당for문 안에서만 유효한 지역 변수다.
② while문
조건식 중심의 반복문으로, 반복자 관리(초기화 및 증감)는 프로그래머가 코드 내부에서 직접 처리해 주어야 한다.
int i = 0; // 초기화
while (i < 10) { // 조건 체크
printf("out test %d\n", i);
i++; // 증감식
}
3. 반복문 제어 키워드: continue와 break
반복문 수행 도중 흐름을 변경해야 할 때 사용하는 특수 키워드다.
-
continue-
현재 회차의 남은 아래 코드를 실행하지 않고 건너뛰어 다음 반복 회차(증감식 단계)로 넘어간다.
-
예: 특정 홀수/짝수 회차만 건너뛰고 출력을 계속하고 싶을 때 사용
-
-
break-
조건 성립 여부와 상관없이 반복문을 즉시 탈출(강제 종료)한다.
-
예: 사용자의 특정 입력이나 종료 명령어(Alt+F4 등)를 감지하여 프로그램 메인 루프를 끝낼 때 사용
-
마무리하며
- 메인 함수는 프로그램의 진입점이자 시작점으로 이 함수가 종료되면 프로그램도 함께 종료된다.
- 반복문인 for문과 while문을 활용하면 조건이 완료될 때까지 특정 코드 블록을 반복적으로 실행할 수 있다.
- 반복문 내부에서 continue를 사용하면 현재 회차를 건너뛰고, break를 사용하면 반복문 자체를 즉시 강제 종료할 수 있다.