main함수 작성하기

main함수의 인자의 개수를 지정하기 위해서는 argc를 사용할 수 있다.
argc를 사용하면, 내 생각대로 인자가 모두 전달된 것인지 확인할 때에 유용하다.

argc 활용법

나의 경우 멀티 프로세스와 메일슬롯으로 간단한 메시지 창을 만들 때에 이 기능을 활용하여 디버깅을 진행하였다.
그 결과 함수에 인자가 내가 생각하는 것과 다른 개수가 전달되고 있었고, 그 부분을 수정하여 예상과 같이 코드가 돌아가도록 수정한 경험이 있다.

argv[]

argv는 argc 입력이 포함된 배열을 의미한다.
기본적으로 프로그램이 실행되면 프로그램의 이름이 저 배열에 담기게 된다.

활용법

사람마다 다르겠으나, 나의 경우 init블록처럼 활용하여 프로그램의 실행과 동시에 출력해야하는 어떤 사안들을 출력하는 데에도 자주 활용하였다.
그 외에도 예기치 못한 입력이 제공되었을 때에 입력이 잘못되었음을 알리는 문구들을 출력하는 데에도 사용하였다.
나는 잘 몰랐으나 검색 결과 테스트 환경에서는 특정 테스트 케이스의 실행을 한 뒤 tc가 맞았는지 제대로 진행되었는지 아니면 실행 자체가 안되었는지를 파악하는 데에도 사용이 된다고 한다.

유의점

argc와 argv는 모두 일종의 프로세스이다.
그래서 프로세스 자체가 실행되지 못했을 경우 이 두 개의 배열과 인자 모두 아직 생성되지 않은 것이나 마찬가지이기 때문에, 에상하는 대로 테스트 코드가 돌아가지 않을 수 있다.
따라서 예상과 너무 쌩뚱맞은 출력이 나올 시 프로세스의 실행 자체를 확인하기 위해 먼저 실행되어야하는 프로세스의 오류코드를 세팅하는 등의 작업을 우선 진행해야한다.

댓글남기기