Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

main 함수

몇몇 프로그래밍 언어에서 main 함수는 프로그램의 시작위치로 사용된다. 예를 들어 C,C++과 같은 프로그래밍 언어들은 main 함수가 있어야지만 실행 파일을 만들 수 있다.

main 함수를 사용해야 하는 프로그래밍 언어는 main 함수를 시작점으로 여기에 유저 함수를 넣는 방식으로 프로그램을 작성한다.

C / C++

C와 C++은 동일한 방식으로 main 함수를 사용한다.
int main(void)

int main(int argc, char **argv)
모든 함수는 매개 변수를 가질 수 있다. 다른 함수와는 구별되는 특수한 main 함수도 매개:::변수(:12)를 가질 수 있다. 다른 함수(:12)와 다른 점이라면, 프로그램 실행 인자가 main 함수의 매개 변수로 사용된다는 점이다.

argc는 프로그램 실행 인자의 갯수, argv는 프로그램 인자를 가리키는 포인터(:12)다. 이외에 환경:::변수(:12)를 매개 변수로 넘길 수도 있다.
int main(int argc, char **argv, char **envp)
프로그램의 이름이 mytest 이고, 다음과 같이 mytext를 실행한다면
# ./mytest a b c
argc는 4, argv는 {"mytest", "a", "b", "c"} 가 된다.

main 함수는 int 값을 반환하는데, 이 값은 프로세스의 종료:::상태(:12)로 부모 프로세스(:12)에게 전달된다. 부모 프로세는 main 함수의 반환 값을 이용해서 프로세스의 종료 상태를 확인할 수 있다.

C언어는 종료 값을 위해서 EXIT_SUCCESS 와 EXIT_FAILURE 를 정의하고 있다. 이들 값은 stdlib.h에 정의되어 있다. EXIT_SUCCESS는 0, EXIT_FAILURE는 1로 정의되어 있다. 다음과 같이 쉘(:12)에서 확인할 수 있다.

Java

Java 프로그램은 main method로 부터 프로그램이 시작한다. 다음과 같이 사용한다.
public static void main(String[] args)
public static void main(String... args)
public static void main(String args[])
C/C++의 main함수와 마찬가지로 프로그램 실행인자를 매개 변수로 가져올 수 있다. C/C++과 달리 값을 반환 하지 않는데, 대신 System.exit() 메서드를 이용해서 종료 값을 전달할 수 있다.