우리는 main 함수가 프로그램의 진입점 역할을 한다고 배웠어요. 그렇다면, 프로그램 호출 시 전달한 인자들도 main에서 받을 수 있지 않을까요?
main 함수는 2개의 인자를 받아요.
int main(int argc, char *argv[]);
argc는 전체 인자의 개수에요. argv는 각 인자의 문자열 포인터를 저장하고 있는 배열이에요.
간단하게 인자를 받아 출력해보는 프로그램을 작성해볼게요.
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("총 인자 개수 : %d\n", argc);
for (int i = 0; i < argc; i++)
printf("[%d] %s\n", i, argv[i]);
return 0;
}
gcc로 컴파일 한 뒤, 간단하게 3개의 인자를 붙여서 실행해봤어요.
출력 결과를 보면, 프로그램이 전달받는 인자는 프로그램의 실행파일을 포함해 시작한다는 것을 알 수 있어요.
배운 내용들을 정리해보고 있어요. 잘못 기재된 내용이 있다면, 댓글로 지적해주시면 수정할게요.