2010-04-17 4 views
0

제가 6 개 변수 A, B, C, D, E를 사용하여 C 프로그램을 작성 하였다으로 I는 인수로 전달한다 상수 값을 인수되어 전달 명령 줄에서.A, B, C는</p> <p>F를 C 프로그램

d, e, f는 구조체의 배열 크기가 될 것입니다.

typedef struct 
{ 
    blah blah 
} ex; 

ex ex0[d]; 

저는이 모든 것을 인수로 전달하는 방법에 대해 매우 혼란 스럽습니다. 지금 당장 나는이 값들을 하드 코딩했는데 분명히 그렇게해서는 안된다.

+2

, 당신은 _The C 프로그래밍 Language를 (HTTP의 사본을 받고 고려해야합니다 : 코드는 다음과 같이 보일 수 있습니다하지만 캐주얼 progrmas에서 그들을 사용하여 아무 소용이 없다 //www.amazon .com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628). –

답변

7

이것은 당신이 시작할 수 있어야합니다

int main(int argc, char* argv[]) { 
    // argc - number of command line arguments 
    // argv - the comand line arguments as an array 

    return 0; 
} 
1

를 사용하여 명령 줄 인수

int main(int argc, char* argv[]) // or int main(int argc, char **argv) 
{ 
    // argc is the argument count 
    //argv : The array of character pointers is the listing of all the arguments. 
    //argv[0] is the name of the program. 
    //argv[argc] is a null pointer 
} 
3

모두이 프로그램에 전달할 메인 함수의 두 번째 인수에 저장됩니다 PARAMS

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

그래서 argc [4]에 의해 4 번째 파라미터에 쉽게 접근 할 수 있습니다. 하지만 int가 아니므로 문자열이므로 파싱해야합니다. argc에서 실제 매개 변수를 가져 와서 필요한 형식으로 구문 분석하기위한 표준 라이브러리가 있습니다. 당신은 C를 학습하는 경우

typedef struct 
{ 
    blah blah 
} ex; 
int main(int argc, char* argv[]) 
{ 
ex ex0[(int)argv[3]]; // i am not sure if it works on pure C, so you can try int atoi(char *nptr) from stdlib.h 
} 
관련 문제