3.パラメータの入力 値を変更するたびにコンパイルをするのは大変です。パラメータとしてプログラム へ受け渡してみましょう。 まずは、下記の5行を入力してコンパイルして下さい。プログラム名は仮に paradisp.cとして下さい。 #include <stdio.h> main(int argc, char *argv[]) { printf("パラメータは[%s]です。\n", argv[1]); } コンパイルエラーはなくなりましたか? それでは、実行してみましょう。実行する際はパラメータを指定します。 paradisp parameta いかがですか? 画面には「引き数は[parameta]です。」と表示されましたか? 今回の学習項目 1)main(int argc, char *argv[]) mainへ受け渡す為の定義です。 intのargcには引き数の個数が入ります。 今回は「paradisp parameta」だったので、2が入っています。 charのargvには引き数の文字列が入ります。 今回は、argv[0]には「paradisp」で、argv[1]には「parameta」です。 [0]や[1]は配列と言って、文字列をとっておく箱が0から順に1、2、3と 用意されていると思って下さい。もちろん指定された個数分だけです。 2)char * 文字列を定義する時の指定は、「char mojiretu[256];」です。 ここで「mojiretu」は任意の名前で、256は文字列の長さです。 そして、文字列を受け渡す時に、受け取る側が「char *mojiretu」とします。 これは、文字列自体を受け渡すのではなく、文字列が入っているエリアの 「ポインタ」を受け渡します。 C言語を少しでも経験した方なら「ポインタ」或は「アドレス」で、とまどう 所でしょう。 (内緒ですが、僕は未だにポインタ*やアドレス&や配列[x]やへたすると ポインタのポインタ**等でつまづいています。本業の仕事中でもです。) 話はそれましたが、文字列や配列に関しては、メモリの位置を指している ポインタで受け渡す事を忘れないで下さい。