본문 바로가기

C

C언어 int main(int argc, char **argv)의미는?

main 함수는 프로젝트에서 반드시 하나로 가져야한다는건 기본적인 상식이다.

 

일반적으로 표현을 int main() 처럼 하는데 간편하게 생략형으로 쓰인것이고

사실 main 함수의 기본적인 정의는 int main( int argc, char *argv[]){  } 가 맞다고한다.

 

여기서 두가지 인자에 대해서 알아보자.

 

argc : 메인함수의 인자 카운트 즉, 인자의 갯수를 넘겨준다. 첫번째 인수는 실행파일명으로 고정되어 있다.

argv : 메인함수에 전달되는 실제적인 데이터(입력인자)로 이중 포인터, 문자열 배열을 가리키는 포인터이다. argv[0]은 파일의 절대경로를 넘겨받고, 1부터 넘겨받는 인수가 저장된다.

 

<예제>

#include <stdio.h>

int main(int argc, char **argv)
{
  int i = 0;

  printf("개발4부2팀 : %d\n\n", argc-1);  //실행파일명 인자개수 빼고
  for (i = 1; i < argc; i++)  //입력인자부터 출력
  {
    printf("안녕 %s\n", argv[i]);
  }
  return 0;
}