인수 설명Argument Description

mainwmain 함수 안의 argc 매개 변수는 명령줄에서 프로그램에 전달되는 인수의 개수를 지정하는 정수입니다.The argc parameter in the main and wmain functions is an integer specifying how many arguments are passed to the program from the command line. 프로그램 이름이 인수로 간주되므로 argc의 값이 1 이상입니다.Since the program name is considered an argument, the value of argc is at least one.

설명Remarks

argv 매개 변수는 프로그램 인수를 나타내며 null로 끝나는 문자열에 대한 포인터의 배열입니다.The argv parameter is an array of pointers to null-terminated strings representing the program arguments. 배열의 각 요소는 main 또는 wmain에 전달되는 인수의 문자열 표현을 가리킵니다.Each element of the array points to a string representation of an argument passed to main (or wmain). 배열에 대한 내용은 배열 선언을 참조하세요. argv 형식에 대한 포인터의 배열(char) 또는 char *argv[] 형식에 대한 포인터의 포인터(char)로 char **argv 매개 변수를 선언할 수 있습니다.(For information about arrays, see Array Declarations.) The argv parameter can be declared either as an array of pointers to type char (char *argv[]) or as a pointer to pointers to type char (char **argv). wmain의 경우 wchar_t 형식에 대한 포인터의 배열(wchar_t *argv[]) 또는 wchar_t 형식에 대한 포인터의 포인터(wchar_t **argv)로 argv 매개 변수를 선언할 수 있습니다.For wmain, the argv parameter can be declared either as an array of pointers to type wchar_t (wchar_t *argv[]) or as a pointer to pointers to type wchar_t (wchar_t **argv).

규칙에 따라 argv[0]은 프로그램을 호출하는 데 사용하는 명령입니다.By convention, argv[0] is the command with which the program is invoked. 그러나 CreateProcess를 사용하여 프로세스를 생성할 수 있으며 첫 번째 인수와 두 번째 인수(lpApplicationNamelpCommandLine)를 모두 사용할 경우 argv[0]이 실행 파일 이름이 아닐 수 있습니다. 실행 파일 이름을 검색하려면 GetModuleFileName을 사용하세요.However, it is possible to spawn a process using CreateProcess and if you use both the first and second arguments (lpApplicationName and lpCommandLine), argv[0] may not be the executable name; use GetModuleFileName to retrieve the executable name.

마지막 포인터(argv[argc])는 NULL입니다.The last pointer (argv[argc]) is NULL. 환경 변수 정보를 가져오기 위한 다른 방법은 런타임 라이브러리 참조getenv를 참조하세요.(See getenv in the Run-Time Library Reference for an alternative method for getting environment variable information.)

Microsoft 전용Microsoft Specific

envp 매개 변수는 사용자의 환경 변수에 설정된 값을 나타내며 null로 끝나는 문자열의 배열에 대한 포인터입니다.The envp parameter is a pointer to an array of null-terminated strings that represent the values set in the user's environment variables. envp에 대한 포인터의 배열(char) 또는 char *envp[]에 대한 포인터의 포인터(char)로 char **envp 매개 변수를 선언할 수 있습니다.The envp parameter can be declared as an array of pointers to char (char *envp[]) or as a pointer to pointers to char (char **envp). wmain 함수에서 wchar_t에 대한 포인터의 배열(wchar_t *envp[]) 또는 wchar_t에 대한 포인터의 포인터(wchar_t **envp)로 envp 매개 변수를 선언할 수 있습니다.In a wmain function, the envp parameter can be declared as an array of pointers to wchar_t (wchar_t *envp[]) or as a pointer to pointers to wchar_t (wchar_t **envp). NULL *포인터로 배열의 끝을 나타냅니다.The end of the array is indicated by a NULL *pointer. main이나 wmain에 전달된 환경 변수는 현재 환경의 "고정" 복사본입니다.Note that the environment block passed to main or wmain is a "frozen" copy of the current environment. 이후에 putenv 또는 _wputenv를 통해 환경을 변경할 경우 현재 환경(getenv/_wgetenv_environ 또는 _wenviron 변수에서 반환)이 변경되지만 envp가 가리키는 블록은 변경되지 않습니다.If you subsequently change the environment via a call to putenv or _wputenv, the current environment (as returned by getenv/_wgetenv and the _environ or _wenviron variables) will change, but the block pointed to by envp will not change. envp 매개 변수는 C에서 ANSI 호환되지만 C++에서는 그렇지 않습니다.The envp parameter is ANSI compatible in C, but not in C++.

Microsoft 전용 종료END Microsoft Specific

참고 항목See Also

main 함수 및 프로그램 실행main Function and Program Execution