보통 main함수에 매개변수는 잘 사용하지 않지만, 경우에 따라서 int main(int argc, char const *argv[])라는 형태로 사용된다.

위와 같이 main함수의 인자로 다른 타입의 변수를 넣으면 안된다❗️ 정해져 있다.
int main(int argc, char const *argv[])
int argc는 argument count로 매개변수의 수를 뜻한다. 우리가 넘겨줘야하는 값이 아니라 인자로 들어오는 개수를 스스로 counting한다.
#include <stdio.h>
int main(int argc, char* arr[])
{
printf("argc = %d\n",argc);
printf("%s", arr[0]);
}

arr배열의 0번째 인덱스에는 항상 실행경로가 들어가 있다. 따라서 프로그램을 실행시킬때 따로 매개변수를 전달해주지 않더라도 argc는 1이되고, arr[0]에는 실행경로가 저장된다.
#include <stdio.h>
int main(int argc, char* arr[])
{
printf("argc = %d\n",argc);
printf("arr[0] = %s\n", arr[0]);
printf("arr[1] = %s\n", arr[1]);
printf("arr[2] = %s\n", arr[2]);
}

"HI"와 "Hello"를 매개변수로 전달해주었고, 매개변수들은 arr[1]부터 차례대로 저장된다
반응형
'Programming Language > C' 카테고리의 다른 글
| [C] Make (0) | 2020.12.04 |
|---|---|
| [C] 오버플로우 언더플로우 (0) | 2020.12.03 |
| [C] strcmp() (0) | 2020.11.26 |
| [C] 16진수 표현 (0) | 2020.11.25 |
| [C] strcpy() strncpy() (0) | 2020.11.24 |