Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 명령줄 인수(Command Line Arguments)란? 개념부터 실전 예제까지

운영체제(OS)에게 특정 작업을 수행하도록 지시하는 실행 명령을 커맨드(command)라고 합니다. 이러한 명령은 운영체제의 명령 프롬프트에서 입력되며, 명령과 함께 전달되는 값들을 명령줄 인수(command line arguments)라고 부릅니다.

명령줄 인수의 두 가지 핵심 요소

C 언어에서 명령줄 인수와 관련된 주요 요소는 다음과 같습니다.

  • argc (argument count) — 명령 프롬프트에서 전달된 인수의 총 개수를 저장합니다.
  • argv (argument vector) — 각 인수의 이름을 담고 있는 문자열 배열을 가리키는 포인터입니다.

예시로 이해하기

c:\> sample.exe hello how are you

위 명령에서 인수는 다음과 같이 구성됩니다.

  • argc = 5
  • argv[0] = sample.exe (프로그램 이름)
  • argv[1] = hello
  • argv[2] = how
  • argv[3] = are
  • argv[4] = you

여기서 주목할 점은 argv[0]에는 항상 프로그램 자신의 이름이 저장된다는 것입니다. 따라서 실제 사용자가 입력한 인수는 argv[1]부터 시작됩니다.

명령줄 인수를 활용한 C 프로그램 예제

다음은 명령줄 인수를 받아 출력하는 C 프로그램입니다.

#include<stdio.h>
main(int argc, char *argv[]) {
    int i;
    clrscr();
    printf("no. of arguments at command p = %d", argc);
    printf("arguments given at prompt are \n");
    for (i = 1; i < argc; i++)
        printf("%s\n", argv[i]);
    getch();
}

코드 설명

  • main(int argc, char *argv[]) — main 함수가 명령줄 인수를 받을 수 있도록 매개변수를 선언합니다.
  • printf("%d", argc) — 전달된 인수의 총 개수를 화면에 출력합니다.
  • for (i = 1; i < argc; i++) — 반복문을 통해 argv[1]부터 마지막 인수까지 하나씩 출력합니다.

실행 방법 및 결과

명령줄 인수와 함께 C 프로그램을 실행하려면 다음 순서를 따릅니다.

  1. 프로그램을 컴파일합니다.
  2. 컴파일된 프로그램을 실행합니다.
  3. 명령 프롬프트로 이동하여 아래와 같이 인수를 입력합니다.
c:\> sample.exe hello how are you
No. of arguments given at prompt is = 5
Arguments given at command prompt are:
hello
how
are
you

정리

명령줄 인수를 활용하면 프로그램 실행 시점에 외부에서 값을 전달할 수 있어, 파일 경로 지정이나 실행 옵션 설정 등 다양한 상황에서 유용하게 활용됩니다. argc로 인수의 개수를 확인하고, argv 배열로 각 인수의 문자열 값에 접근하는 것이 C 언어 명령줄 인수 처리의 기본 원리입니다.