파일을 실행할 때, main함수에 인자로 값을 전달해주는 방법이 있다.
int main(int argc, char *argv[]){}
int argc
main함수가 받은 인자의 수를 가지고 있다.
gcc를 할 때 아웃풋 이름을 정해주지않아 a.out이 생성되어 아무런 인자없이 실행시키면 argc는 실행 파일의 이름만 카운트하여 1이 될 것이다.
char *argv[]
main함수가 받은 인자들을 저장하고 있는 배열이다.
모든 인자들은 문자열의 형태로 저장된다.
argv[0]은 실행 파일의 이름이 될 것이다.
#include <stdio.h>
int main(int argc, char *argv[])
{
int idx;
idx = 0;
while(idx < argc)
{
printf("%s\n", argv[idx]);
idx++;
}
}
인수로 받은 모든 문자열을 출력하는 예제이다.
실행 파일의 이름을 포함해 줄을 바꿔가며 출력하게 된다.
int main(int argc, char *argv[]){}
int main(int argc, char **argv){}
int main(int ac, char **av){}
매개변수 명은 인자를 받아오는데에 상관이 없어서 다들 각자의 방식으로 지정한다.