C언어

[C언어] main문이란?

_minit 2024. 10. 14. 09:03

main 함수는 C 프로그램의 진입점(entry point)으로, 실행 시 가장 먼저 호출되어 프로그램의 전체 실행 흐름을 제어한다. 모든 C 프로그램에는 하나의 main 함수가 필수이며, 이 함수는 프로그램의 초기화, 주요 로직 수행, 종료 시 자원 해제 등을 담당한다. 또한 운영체제와의 상호작용을 통해 프로그램의 실행 종료 방식을 정의한다.

 

main 함수의 역할

  • 프로그램의 시작점으로 초기화 작업과 주요 로직 수행을 담당한다.
  • main 함수의 반환값은 운영체제에게 종료 상태를 전달하여, 후속 작업을 결정하는 데 사용된다.
  • main 함수가 종료될 때 동적 메모리와 파일 디스크립터 등의 자원을 회수한다.

 

다양한 main 함수형태

int main() / int main(void)

int main(int argc, char *argv[])

void main() / void main(void)

 

 

int main() 또는 int main(void) 

  • C 표준에서는 main 함수의 반환 타입을 int로 지정하는 것을 권장한다. 0은 정상 종료, 다른 값을 오류이다.
  • 두 형태 모두 매개변수가 없음을 나타내지만, int main(void)는 이를 명시적으로 표현한다,

int main(int argc, char *argv[])

  • argc는 인자 개수, argv는 인자 값 배열을 나타낸다.

 

void main() 및 void main(void)

  • void main()은 표준이 아니며 반환 값이 없으므로 운영체제와의 통신의 문제가 발생할 수 있다.

 

3가지 유형 모두 써도 상관은 없으나 권장되는 것은 int main(void) 와 int main(int argc, char *argv[])이다. 

또한 하나의 프로그램에 하나의 메인문만 존재한다.

728x90