0

私は6つの変数a、b、c、d、e、fを使用するCプログラムを書いていました

a、b、c は、コマンド ラインから引数として渡す定数値です。

d、e、f は、構造体の配列のサイズになります。

typedef struct
{
   blah blah
} ex;

ex ex0[d];

これらすべてを引数として渡す方法について非常に混乱しています。現在、これらの値をハードコーディングしていますが、これは明らかにすべきではありません。

4

3 に答える 3

7

これで始められるはずです:

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

    return 0;
}
于 2010-04-17T05:45:44.260 に答える
3

プログラムに渡すすべてのパラメーターは、メイン関数の 2 番目の引数に格納されます

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

argc[3] で 4 番目のパラメータに簡単にアクセスできます。しかし、これは int ではなく文字列なので、解析する必要があります。argc から実際のパラメーターを取得し、必要な型を解析するための標準ライブラリがあります。しかし、カジュアルなプログラムではそれらを使用しても意味がないため、コードは次のようになります。

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
}
于 2010-04-17T06:24:52.550 に答える
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
}
于 2010-04-17T05:51:30.440 に答える