2017-05-02 33 views
-1

나는 이와 같은 함수를 작성하는 경우 :는 argc와 argv를 주요

void myfunc(const int argc, const char *argv[]) 

가하는 argc와 argv를 자동으로 명령 줄 인수에서 그 값을 얻을, 또는 그들의 값을 전달해야합니다 것 메인에서?

+5

의도적으로 함수에 전달해야합니다. 예 : myfunc (argc-1, argv + 1); – BLUEPIXY

+4

main() 명령 행에서만 값을 가져옵니다. –

+0

가능한 [main에서 char \ * \ * argv를 사용하지 않고 명령 줄 인수에 액세스] 가능한 중복 (http://stackoverflow.com/questions/2471553/access-command-line-arguments-without-using-char-argv-in) -본관) – Lanting

답변

3

는 argc와 argv를이 같은 통과해야합니다

당신이 함수의 인수 argcargv를 호출하는 경우
int main(int argc, char *argv[]) 
    { 
    myfunc(argc, argv); 
    return(0); 
    } 
3

아니, 특별한 아무 일도 발생하지 않습니다. 호출자는 다른 인수와 마찬가지로 전달해야합니다.

1

인수 이름은 의미가 없습니다. 그 자체는입니다. 다음과 같이 main을 쓸 수 있습니다.

int main(int count, char *array[]) {...} 

원하는 경우. main특수한 함수이므로 C 프로그램의 기본 진입 점이며 명령 줄 인수 값이 전달됩니다.

선언/정의하는 함수로서 :

void myfunc(int argc,char *argv[]) {...} 

정확히 동일하다 : 임의의 (가능하면)에서 호출 할 수

void myfunc(int foo,char *bar[]) {...} 

그러한 기능 (어떤과 마찬가지로 허용 가능한 가리) 값을 입력하십시오.