main関数の引数

プログラムを実行するときに、オプションとしてパラメータを渡すことができる・・・。

$ ./program abc

例えば、このようにprogramに"abc"という文字列を渡せる・・・。
これをコマンドライン引数ともいい、これはmain関数の引数として渡されるので、

int main(void){

}

としていたmain関数を

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

}

と変える・・・。
このようにコマンドライン引数を受け取るようにすることで、渡された引数をmain関数の中で使える・・・。

argcは引数の個数、argvは各引数文字列へのポインタを格納した配列・・・。

このプログラムは各argvの文字列(つまり渡されたコマンドライン引数)すべてを出力するもの・・・。

$ vi main_function_argument.c
$ gcc main_function_argument.c -o main_function_argument
$ ./main_function_argument
argv[0] = ./main_function_argument
$ ./main_function_argument  abc
argv[0] = ./main_function_argument
argv[1] = abc
$ ./main_function_argument  abc def
argv[0] = ./main_function_argument
argv[1] = abc
argv[2] = def
$ ./main_function_argument  abc def ghi
argv[0] = ./main_function_argument
argv[1] = abc
argv[2] = def
argv[3] = ghi
$

このように後ろに付けたパラメータがmain関数に渡されprintfで出力できている・・・。
実行プログラム名も0番目のコマンドライン引数として渡される・・・。
(環境によってそうでない場合もあるので注意・・・。)

Sample/main_function_argument.c at master · bg1bgst333/Sample · GitHub