본문 바로가기

C, C++

main 함수

이전 글에서 많이 배웠으니 이제 main함수에 대해 자세히 알아보겠습니다.

int main() {} 
int main(int argc, char* argv[]) {}
int main(int argc, char* argv[], char* envp[]) {}

C++ 프로그램이 시작될 때 이 함수의 내용이 먼저 실행되고, 즉, 반드시 필요한 함수입니다.

 

argv는 실행 시 쓰여진 명령 줄 문자열 값 배열이고, argc는 배열의 개수입니다.

예를 들어 콘솔에서 test.exe a b c로 실행했을 때 배열 값은 test, a, b, c 개수는 4개가 됩니다.

 

envp은 시스템 환경 변수가 담긴 배열입니다. 마지막 배열 인수가 0인 것으로 갯수를 알 수 있습니다.

 

여기서 main함수 리턴타입을 void로 하는것을 지원하는 컴파일러가 있지만 C언어 표준이 아니기에 사용하지 않는 것을 권장합니다.

 

C++ 표준이 아닌 Visual C++에서는 wmain이라는 와이드 문자 버전의 main 함수 사용을 지원합니다.

int wmain(int argc, wchar_t *argv[], wchar_t *envp[]) {}

 

참고:

https://no1rogue.blog.me/30096808780

https://en.cppreference.com/w/cpp/language/main_function

https://msdn.microsoft.com/ko-kr/library/fzc2cy7w.aspx?f=255&MSPPError=-2147217396

'C, C++' 카테고리의 다른 글

비트 구조체  (0) 2019.11.28
구조체  (0) 2019.11.27
문자, 문자열  (0) 2019.11.26
다중 배열  (0) 2019.11.26
배열  (0) 2019.11.26