- argc와 argv에 대해서
argc는 argument count의 약자로 main 함수에 전달된 인자들의 개수를 뜻한다. (main 함수에 전달되는 정보의 개수)
avgc는 항상 0보다는 큰 값을 가진다. (최솟값 = 1)
avgc는 문자열 argv에 담긴 원소들의 개수이다.
argv는 argument vector의 약자로 main 함수에 전달되는 실질적인 정보를 의미한다. 문자열의 배열로 전달됨.
문자열의 첫번째 원소는 프로그램의 실행 경로로 항상 고정되어 있음.
avgc, avgv는 main 함수의 기본적인 2개의 파라미터이다.
프로그램은(main 함수는) 그 자체로서 1개의 파라미터를 가진다.
그러므로 argx[0]에 대한 정보를 항상 갖는다 -> argc는 자연스레 1 값을 가짐
argv[0] : 명령어 혹은 프로그램 명
argv[1] : 첫 번째 명령어행 인수
- if(argc != 2)에 대해서...
프로그램이 1개의 명령어를 파라미터로 받아 실행이 될 때, argc == 2가 된다.
(명령어를 아무것도 받지 않는 프로그램은 argc == 1)
프로그램이 파라미터를 하나도 받지 않거나 2개 이상의 명령어를 파라미터로 받아 실행되면,
argc != 2의 조건이 만족된다.
예를 들어 $ display_image firstarg "second arg" 를 실행하면
argc: 3 (전달된 파라미터의 개수)
argv[0]: "display_image"
argv[1]: "firstarg"
argv[2]: "second arg"
이러한 값들을 가질 것이다.
- main 함수에 파라미터 전달하기
cmd창 기준으로는
(실행파일명).exe (파라미터1) (파라미터2) (파라미터3) ...
이런 식으로 전달
실행 파일도 파라미터로 간주되며, argv문자열에 들어간다 (argc 개수로 세어진다)