Type Here to Get Search Results !

c 언어 main 함수 매개변수 받기 argv argc - 명령행 인자

이 글에서는 C 언어의 main 함수의 argc와 argv 매개변수에 대해 설명해드리도록 하겠습니다. 

  • Understanding argc and argv in C's main function
  • 예제 소스 코드 
c 언어 main 함수 매개변수 받기 argv argc - 명령행 인자 썸네일


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를 활용한 간단한 예제 소스 코드입니다. 이 예제는 커맨드 라인에서 전달된 인자들을 출력하는 기능을 가지고 있습니다.
#include <stdio.h> int main(int argc, char* argv[]) { printf("인자의 개수: %d\n", argc); printf("전달된 인자들:\n"); for (int i = 0; i < argc; i++) { printf("argv[%d]: %s\n", i, argv[i]); } return 0; } 

위 예제를 컴파일하고 실행하면 다음과 같은 결과를 얻을 수 있습니다.

$ ./program arg1 arg2 arg3 인자의 개수: 4 전달된 인자들: argv[0]: "./program" argv[1]: "arg