Int 아리스 챨 * argv [], 무엇을 의미합니까?

39, s 와 컴파일러에도 생성할 때, 대부분의 c++컴파일러는 IDE& 당신꺼에요 얻게된다면 주요 기능은 다음과 같습니다.

int main(int argc, char *argv[])

C++ IDE, 그냥 내가 언제 코드 없이 명령줄이 있는 컴파일러, 내가 유형:

int main()

매개 변수 없이. 중요한 것은 내 프로그램, 그리고 이게 무슨 뜻이죠?

질문에 대한 의견 (6)
해결책

'argv' 와 '아리스' 이 '주 ()' C 와 c++에서 어떻게 명령행을 인수만 전달됩니다.

'아리스' 에 'argv' 문장열 될 수 있다고 지적했다. 이렇게 하면 (실천) 처럼 1 등 거의 모든 수를 합한 것으로 이름을 prepend 인수만 구현 프로그램을 어레이입니다.

변수는 이름이 '아리스' ( 인수 카운트입니다 ) 와 'argv' ( 인수 벡터입니다 ) 규칙에 따라 받을 수 있지만, 유효한 식별자입니다: int main (char, int * arg_strings num_args) '가' 같은 유효함.

또한, int main () ',' 생략해야 완전히 자리를 설치하지 않을 경우 프로세스 명령행을 인수만.

종료기 다음 프로그램:


#include 

int main(int argc, char** argv) {
    std::cout 
해설 (11)

'아리스' 를 통해 전달되는 인수만 수가 명령줄이 및 프로그램 'argv' 는 어레이입니다 인수.

다음과 같은 주장을 반복하고 그 수를 알 수 있습니다.

for(int i = 0; i < argc; i++)
{
    // argv[i] is the argument at index i
}
해설 (0)

예를 들어, 카타시안 ('sh' 구문을 사용하여) 프로그램을 운영할 수 있습니다.

myprog arg1 arg2 'arg 3'

주 업무는 '로 선언된 경우 int main (int 아리스, char * argv [])', '다음 주 () (대부분의 환경에서) 을 이용하면 다음과 같은 것처럼' 이라 부를 것입니다.

p = { "myprog", "arg1", "arg2", "arg 3", NULL };
exit(main(4, p));

그러나 주 업무는 int main () '로 선언된 경우' 라는 것 같은 일이

exit(main());

39, t 내려받습니다 don& 진실이며당신이 인수만 통과했습니다.

두 개의 추가 참고 사항:

  1. 이 두 가지뿐입니다 두 표준 필수 위한 서명 '주'. 만약 특정 플랫폼 사용할 수 있는 추가 인수 또는 다른 반환 유형 관심용 that& # 39 의 확장명으로 안된다는 것을 빛위에 받을시간은 이동형이든지 했던 프로그램이다.
  2. 'argv [] argv' 이 '와' 쓰기 'avamer 당근이지를 수 있도록 int main (int 아리스, char argv [])' 도 'int main (int 아리스, char argv)'.
해설 (3)

'주' 프로그램을 제공하는 명령줄이 매개변수입니다 매개변수가 표현할 때 시작되었습니다. 이 '아리스' 매개변수입니다 명령줄이 인수, 'argv []' 수를 나타냅니다 챨 * 배열입니다 나타내는 문자열 (문자 포인터) 이 개별 인수만 com/service/serviceplans/solaris/10/http://www. 명령줄입니다.

해설 (2)
int main();

이는 단순한 선언. 명령줄이 인수만 아무 것도 할 수 없습니다.

int main(int argc, char* argv[]);

이 선언 때 사용되는 인수만 명령줄이 프로그램에 노력을 해야 한다. 이 때 같은 실행하십시오.

myprogram arg1 arg2 arg3

인수, '아리스' 또는 '와' argv 카운트입니다 적립율은 4 로 (4 개의 인수), 또는 인수, 벡터,,, &quot myprogram&quot 채워집니다 문자열이어야 &quot 대한 포인터,,, 그리고 &quot arg1&quot &quot arg2&quot arg3". 프로그램이 호출 ('미프로그램') 가 포함돼 인수만!

또는 사용할 수 있습니다.

int main(int argc, char** argv);

이 역시 유효함.

또 있다 매개변수입니다 추가할 수 있습니다.

int main (int argc, char *argv[], char *envp[])

환경 변수 '가' 렌프프 매개변수입니다 들어 있다. 각 항목은 형식은 다음과 같습니다.

VARIABLENAME=VariableValue

다음과 같습니다.

SHELL=/bin/bash    

환경 변수 목록은 null 종료.

  • IMPORTANT: 사용하지 않는 'argv' 또는 '통화' 시스템 () 의 값을 직접 렌프프 ''! 이는 * 보안 등 큰 구멍 (잠재적으로) 를 일으킬 수 있는 사용자 환경 변수 설정 및 악의적인 명령줄이 명령의세 엄청난 피해를 입혔다. 일반적으로 사용하는 시스템 () ',' 그냥 don& # 39 없다. 거의 항상 C 라이브러리 솔루션 구축을 통해 더 나은 있습니다.
해설 (0)

이 '아리스' 와 'argv', '주' 기능은 두 개의 매개변수를 가질 수 있습니다. '아리스' 은 정수 ('int'), 이는 매개변수에서 수를 인수만 프로그램으로 전달됩니다.

프로그램 이름은 항상 첫 번째 주장은 있을 수 있기 때문에 프로그램 및 하나 이상의 인수를 최소값이 '아리스' 형이 될 것이다. 2 인자 '아리스' 을 스스로 가치를 신앙이니라 프로그램은 3.

매개 변수 'argv') 는 벡터 인수 및 문자열으로 어레이입니다 가리킵니다. 이는 한 치수 구체화하십시오 어레이입니다 함수 인수만.

해설 (1)

첫 번째 매개 변수는 두 번째 파라메트가 인수만 제공 및 그 수를 나타내는 문자열 바뀌엇어요 인수만.

해설 (2)

둘 다

int main(int argc, char *argv[]);
int main();

c 나 C++ 프로그램을 위한 법적 정의는 진입점이 있다. [스트로브 스트 룹: C++컴파일러는 스타일과 기법 FAQ] [1] 세부내용에서 일부 변형이 가능한 또는 법적 단축시킵니다 메인 함수.

[1]: http://www.stroustrup.com/bs_faq2.html # void main

해설 (4)