私は6つの変数a、b、c、d、e、fを使用するCプログラムを書いていました
a、b、c は、コマンド ラインから引数として渡す定数値です。
d、e、f は、構造体の配列のサイズになります。
typedef struct
{
blah blah
} ex;
ex ex0[d];
これらすべてを引数として渡す方法について非常に混乱しています。現在、これらの値をハードコーディングしていますが、これは明らかにすべきではありません。
私は6つの変数a、b、c、d、e、fを使用するCプログラムを書いていました
a、b、c は、コマンド ラインから引数として渡す定数値です。
d、e、f は、構造体の配列のサイズになります。
typedef struct
{
blah blah
} ex;
ex ex0[d];
これらすべてを引数として渡す方法について非常に混乱しています。現在、これらの値をハードコーディングしていますが、これは明らかにすべきではありません。
これで始められるはずです:
int main(int argc, char* argv[]) {
// argc - number of command line arguments
// argv - the comand line arguments as an array
return 0;
}
プログラムに渡すすべてのパラメーターは、メイン関数の 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
}
コマンドライン引数を使用する
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
}