C 언어 main 함수 작성법 완벽 가이드

C 언어 main 함수 작성법 완벽 가이드

main 함수는 C 프로그램의 진입점(entry point)으로, 프로그램이 시작되면 가장 먼저 실행되는 함수입니다. 모든 C 프로그램은 반드시 하나의 main 함수를 포함해야 하며, 프로그램의 전체 흐름을 제어하는 중요한 역할을 합니다.


1. main 함수 기본 문법

int main() {
    // 코드 작성
    return 0;
}

또는

int main(int argc, char *argv[]) {
    // 명령줄 인자를 받을 때 사용
    return 0;
}

반환형:

  • int: 프로그램 종료 시 운영체제에 반환할 값을 나타냅니다. 일반적으로 0은 정상 종료, 그 외의 값은 오류를 의미합니다.

매개변수 설명 (선택적)

  • argc: 명령줄 인자의 개수
  • argv: 명령줄 인자의 문자열 배열

2. 기본 예제

#include <stdio.h>

int main() {
    printf("Hello, World!\\n");
    return 0;
}

출력 결과:

Hello, World!

3. 명령줄 인자 사용 예제

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("인자의 개수: %d\\n", argc);
    for (int i = 0; i < argc; i++) {
        printf("argv[%d]: %s\\n", i, argv[i]);
    }
    return 0;
}

실행 예:

$ ./program hello world

출력 결과:

인자의 개수: 3
argv[0]: ./program
argv[1]: hello
argv[2]: world

4. main 함수 작성 시 주의할 점

  1. 반환값 명시: main 함수는 int형을 반환해야 하며, return 0; 또는 적절한 종료 코드를 반환해야 합니다.
  2. 표준 형식 준수: 함수명은 반드시 main이어야 하며, 반환형은 int여야 합니다.
  3. 매개변수 이름: argc, argv는 관례적으로 사용하는 이름이며, 다른 이름을 사용해도 되지만 가독성을 위해 권장됩니다.
  4. 표준 입출력 포함: stdio.h를 포함하여 printf, scanf 등 입출력 함수를 사용할 수 있습니다.

5. 고급 사용: 환경 변수 받기

#include <stdio.h>

int main(int argc, char *argv[], char *envp[]) {
    for (int i = 0; envp[i] != NULL; i++) {
        printf("envp[%d]: %s\\n", i, envp[i]);
    }
    return 0;
}

출력 예시 (일부):

envp[0]: PATH=/usr/bin:/bin
envp[1]: HOME=/home/user
...

6. 결론

main 함수는 C 프로그램의 시작점을 정의하며, 프로그램 전체의 흐름을 결정짓는 중요한 함수입니다. 기본 문법과 함께 명령줄 인자 사용법, 반환값의 의미, 환경 변수 활용까지 익혀 두면 실제 개발에 매우 유용하게 사용할 수 있습니다. 안정적이고 효율적인 프로그램을 만들기 위해 main 함수 작성법을 꼭 숙지해 보세요!