Programming Language/C

[C] main함수 인자

lingk 2020. 11. 28. 00:27

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