c언어 프로그램 main() 함수 인자 전달
c언어 프로그램 main() 함수 인자 전달
지금까지 C언어 프로그램을 공부하면서 main() 함수에는 인자를 전달하지 않은 기본 형태만 사용해왔는데 main() 함수도 인자를 전달할 수 있고 이를 확인하기 위해서는 프로그램을 실행하는 방법이 조금 차이가 있거든요. 그 과정을 정리해볼까 합니다. 먼저 다음과 같이 main() 함수에 인자를 전달할 수 있습니다.
▲ 제한적이긴 하지만 이렇게 문자열 인자를 전달할 수 있고 첫 번째 int는 전달되는 인자의 개수를 의미하고 bb[]는 문자열 배열을 받는 매개변수입니다. 이 함수에 인자를 전달하기 위해서는 CMD에서 응용프로그램(exe)을 실행한 후 입력해야 하는데 먼저 응용프로그램의 위치를 찾아볼게요.
▲ 사용 중인 컴파일러에 따라서 조금씩 다르겠지만 Visual Studio 2010을 사용하는 내 컴퓨터에는 이렇게 프로젝트 폴더의 Debug 폴더 안에 있으며 파일의 이름은 Test입니다.
이 녀석을 실행하기 위해서는 CMD에서 이 경로로 찾아간 뒤 실행하면 되는데 복잡하니까 복사해서 C:드라이브로 옮겨놓고 진행하겠습니다.
▲ 응용프로그램이 어디에 있는지 몰랐다면 이번 기회에 위치를 확인해보는 것도 괜찮을 거예요. 이제 CMD를 실행해서 C드라이브에 이 파일이 있는지 확인해보고 파일을 실행하겠습니다.
▲ 제대로 옮겨져 있군요. 프로그램을 실행해서 인자로 문자열을 전달하겠습니다.
▲ 예제와 같이 파일 이름을 입력한 후 hello study c라는 문자열을 입력했습니다. 프로그램 실행 결과에서 전달된 문자열의 수가 4개라고 하는 걸로 봐서 그 수는 띄어쓰기로 구분한다는 점을 알 수 있고 첫 번째 인자는 파일의 이름인 것도 확인할 수 있습니다.
이렇게 해서 제한적이긴 하지만 main() 함수에도 인자를 전달할 수 있다는 걸 확인해봤습니다.