보통 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 |