[C++] What is (argc , argv)


main 함수의 매개변수는 보통 아무것도 사용하지 않지만 경우에따라서는 int main(int argc , char* argv[])와 같은 모양의 main함수를 본적이 있다

1.main 함수의 매개변수

-c에서 main함수는 프로그램의 진입점이다 즉 최초로 함수로 구동되어 실행되는 곳이다 함수의 매개변수는 이 함수를 호출할때 전달해주는 정보를 뜻한다 그렇다면 무엇을 전달해주는 것일까. 이는 두가지로 나뉜다.

int argc:

이것은 main함수에 전달되는 정보의 갯수를 의미한다.

char* argv[]

이것은 main함수에 전달되는 실질적인 정보로 , 문자열의 배열을 의미한다 첫번쨰 문자열은 프로그램의 실행경로로 항상 고정이 되어있다

-아무런 정보도 전달하지 않는다면 기본적으로 argv의 첫번째 값으로 실행 경로가 들어가 있으며 실행경로 정보 1개 뿐이므로 argc는 1이 된다. 이제 실질적으로 main함수에 정보를 전달해서 확인하도록 하겠다.

2.main 함수에 정보를 전달하는 방법(command line argument)

-윈도우를 사용한다고 가정한다면 방법이 2가지가 있다 우선 cmd.exe.를 열어서 사용하는 방법이다 이때 main함수에 정보를 전달하고 싶다면

HelloWorld.exe Data File

HellowWorld.exe는 일종의 프로그래밍파일이라하고 Data는 main함수에 전달되는 정보이다 즉 argv에 전달된다

argv[0] = “실행경로”
argv[1] = “Data” argv[2] = “File” 그리고 argc에는 그 갯수은 3이 들어가게된다

마찬가지로 visual studio를 통해 main함수에 인자를 전달해줄 수 있다.