c언어를 프로그래밍 하다보면 메인 함수를 무조건 저런식으로 int main(){}이렇게 시작하게 되는 데 왜 이렇게 짜는 지 고민해본적 있으신가요?
📘 int main(void) 자세한 설명
int main(void){
return 0;
}
이 코드는 크게 4부분으로 나눠서 이해하면 된다:
1. int → 반환 타입
2. main → 함수 이름 (프로그램 시작점)
3. void → 입력 없음
4. { } → 실행 영역
1. main 함수의 역할 (가장 중요🔥)
프로그램이 시작되는 유일한 함수
👉 C 프로그램 실행하면 내부적으로:
운영체제(OS) → main() 호출
즉,컴퓨터는 무조건 main부터 실행한다
흐름
int main(void){
printf("Hello");
return 0;
}
실행 순서:
- 프로그램 시작
- main 함수 진입
- 코드 실행
- return 실행 → 프로그램 종료
2. int (반환 타입)
int main(void)
👉 의미:
이 함수는 실행이 끝나면 정수(int)를 하나 반환한다
✔ 왜 반환하냐?
프로그램은 끝날 때 운영체제(OS)에 결과를 알려줌
return 0;
👉 의미:
- 0 → 정상 종료
- 0 이외 → 오류 또는 다른 상태
✅ 이해 포인트
👉 사람이 보려고 하는 게 아니라
👉 컴퓨터(OS)에게 상태를 알려주는 용도
3. void (입력 없음)
👉 의미:
이 함수는 외부에서 입력값을 받지 않는다
✔ 쉽게 말하면
- 프로그램 시작할 때 👉 아무 값도 전달받지 않음
✅ 비교
int main(void) // 입력 없음
int main(int a) // 입력 있음
👉 실제로는 이런 것도 있음:
int main(int argc, char *argv[])
👉 실행할 때 옵션(값)을 넘길 수 있음
“값을 넘긴다”는 게 무슨 뜻이냐
👉 한 줄로 말하면:프로그램을 실행할 때 시작하면서 데이터를 같이 전달하는 것
argv는 프로그램 실행할 때 값을 같이 전달하는 방식이며, 주로 리눅스나 터미널 환경에서 사용되고 기본 C 학습 단계에서는 많이 사용되지 않는다.
✅ 4. { } (중괄호)
{
// 코드
}
👉 의미:
함수의 실행 코드를 포함하는 영역
👉 이 안의 코드가 실행됨
5. return 0;
return 0;
👉 의미:
main 함수 실행이 끝났다는 것을 알림
✅ 핵심
- 함수 종료
- OS에 결과 전달
✅ 6. 전체 의미 한 번에
int main(void)
👉 풀어서 해석하면:
“입력을 받지 않고 실행을 시작하며, 실행이 끝나면 정수 값을 반환하는 프로그램의 시작 함수”
✅ 7. 구조까지 포함한 완전 해석
int main(void){
return 0;
}
👉 의미:
- 프로그램 시작
- main 함수 진입
- 코드 실행
- return으로 종료 상태 전달
✅ 8. 비유로 이해
- main → 프로그램 입구 🚪
- void → 들어올 때 들고 오는 것 없음
- int → 나갈 때 결과 보고
- return → “끝났습니다” 보고
✅ ✅ 최종 정리
int main(void)은 C 프로그램의 시작 함수로, 외부 입력(매개변수)을 받지 않고 실행되며, 실행이 종료되면 정수 값을 운영체제에 반환하는 함수이다.
✅ ✅ 시험용 초압축
- main → 시작
- void → 입력 없음
- int → 결과 반환
- return → 종료
'c언어' 카테고리의 다른 글
| 문자열 입력 시 한글과 배열 크기 주의사항 (0) | 2026.05.31 |
|---|---|
| scanf + 문자열 입력 +sizeof 정리 (0) | 2026.05.30 |
| printf(화면에 값을 출력하는 함수) (0) | 2026.05.30 |
| 상수(변하지 않는 수) (0) | 2026.05.30 |
| 실수형 변수 (0) | 2026.05.30 |