목차
1. 명령행인자
1. 명령행 인자
make나 clang과 같은 프로그램을 실행할 때 컴파일하고자 하는 코드 외에도, 컴파일 후 저장하고자 하는 파일명과 같이 추가적인 정보를 함께 제공 가능한 정보들.
핵심 개념
- 명령행 인자 (Command-line Arguments)
- argv (Argument Vector)
- argc (Argument Count)
1-1. 코드 분석 및 실행 예시
C 언어에서 main 함수는 기본적으로 int main(void) 형태로 작성했지만, 명령행 인자를 활용하기 위해 다음과 같이 변경 가능.
#include <cs50.h>
#include <stdio.h>
int main(int argc, string argv[])
{
if (argc == 2)
{
printf("hello, %s\n", argv[1]);
}
else
{
printf("hello, world\n");
}
}
코드 설명
- argc (Argument Count): 프로그램 실행 시 전달된 명령행 인자의 개수를 저장하는 변수.
- 프로그램 실행 시 기본적으로 프로그램 이름 자체가 포함되므로 최소값은 1.
- 명령행에서 추가적인 값을 입력하면 그만큼 증가.
- argv[ ] (Argument Vector): 명령행에서 입력된 각 인자를 문자열 배열 형태로 저장.
- argv[0] : 프로그램 이름.
- argv[1] : 첫 번째 입력값 (존재할 경우).
- 조건문 활용: argc == 2일 경우, 사용자 입력값을 출력.
- ./argc → hello, world (입력값 없음)
- ./argc David → hello, David (입력값 "David" 활용)
실행 예시
$ ./argc
hello, world
$ ./argc Alice
hello, Alice
정리
- argc를 활용, 명령행 인자의 개수를 확인 가능.
- argv[ ]를 통해 사용자가 입력한 값을 받아 활용 가능.
- 프로그램 실행 시 ./프로그램이름 인자 형태로 입력하여 동적인 데이터 처리가 가능.