질문:
인수를 C 또는 C 프로그램의 main 함수에서 argv[0]에는 항상 실행 파일 이름이 포함됩니까? 아니면 이는 모든 경우에 적용되지 않는 일반적인 관행에 불과합니까?
답변:
ISO C11 표준에 따르면:
argc의 값이 0보다 크고 argv[0]이 가리키는 문자열입니다. 은 프로그램 이름을 나타냅니다. 프로그램 이름을 호스트 환경에서 사용할 수 없는 경우 argv0은 null 문자입니다.
따라서 argv[0]가 실행 파일의 정확한 이름을 나타내는 것이 항상 보장되는 것은 아닙니다. 오히려 이는 호스트 환경에서 제공되는 구현 정의 값이며 반드시 실행 파일의 파일 이름일 필요는 없습니다.
ISO C 표준에서는 argc가 0보다 큰 경우 배열 멤버 argv[ 0]부터 argv[argc-1]까지에는 프로그램이 시작되기 전에 호스트 환경에 의해 결정된 구현 정의 값이 있는 문자열에 대한 포인터가 포함됩니다.
이는 argv[0]은 표준에 의해 명시적으로 지정되지 않으므로 다양한 플랫폼과 운영 체제에 걸쳐 동작이 달라질 수 있습니다.
위 내용은 `argv[0]`은 항상 C/C의 실행 파일 이름을 포함합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!