이 글에서는 C 언어의 main 함수의 argc와 argv 매개변수에 대해 설명해드리도록 하겠습니다.
- Understanding argc and argv in C's main function
- 예제 소스 코드
Understanding argc and argv in C's main function
C 언어의 main 함수는 프로그램의 진입점(entry point)이며, 프로그램 실행 시 자동으로 호출됩니다. 이 main 함수는 두 개의 매개변수인 argc와 argv를 받습니다. 이들은 프로그램이 커맨드 라인에서 실행될 때 전달되는 인자(argument)들을 나타냅니다.
argc (Argument Count)
argc는 int 타입의 변수로서, 프로그램이 실행될 때 전달된 인자의 개수를 나타냅니다. 즉, argc는 인자의 개수를 세는 역할을 합니다. 프로그램이 최소한 하나의 인자(즉, 실행 파일명)를 받으므로 argc의 값은 항상 1 이상입니다.
argv (Argument Vector)
argv는 char* 형식의 포인터 배열입니다. 각 포인터는 커맨드 라인에서 전달된 인자를 가리킵니다. argv[0]은 프로그램의 이름(실행 파일명)을 가리키고, argv[1]부터는 추가적인 인자들을 가리킵니다.
예를 들어, 커맨드 라인에서 ./program arg1 arg2 arg3와 같이 프로그램을 실행한다면, argc는 4이고 argv는 다음과 같은 형태를 가지게 됩니다:
여argv[0]: "./program"
argv[1]: "arg1"
argv[2]: "arg2"
argv[3]: "arg3"입
즉, argv는 커맨드 라인에서 전달된 인자들을 배열 형태로 저장하고 있습니다.
예제 소스 코드
예제 소스 코드
다음은 argc와 argv를 활용한 간단한 예제 소스 코드입니다. 이 예제는 커맨드 라인에서 전달된 인자들을 출력하는 기능을 가지고 있습니다.
위 예제를 컴파일하고 실행하면 다음과 같은 결과를 얻을 수 있습니다.
$ ./program arg1 arg2 arg3
인자의 개수: 4
전달된 인자들:
argv[0]: "./program"
argv[1]: "arg