Standard C
C 언어 main 함수 작성법 완벽 가이드
레퍼러
2025. 4. 20. 15:26
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 함수 작성 시 주의할 점
- 반환값 명시: main 함수는 int형을 반환해야 하며, return 0; 또는 적절한 종료 코드를 반환해야 합니다.
- 표준 형식 준수: 함수명은 반드시 main이어야 하며, 반환형은 int여야 합니다.
- 매개변수 이름: argc, argv는 관례적으로 사용하는 이름이며, 다른 이름을 사용해도 되지만 가독성을 위해 권장됩니다.
- 표준 입출력 포함: 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 함수 작성법을 꼭 숙지해 보세요!