引数を使ってデータをサメ関数に渡してみましょう。
ぱくぱく・・
ねえ、サメ関数が酸素不足でぱくぱくしてるよ。
じゃあ、酸素変数を渡してあげましょう。
み・・・水。
今回は、今まで避け続けてきた引数(ひきすう)についてやりましょう。
まあ、これまでも実際に使っていたので、意外と早くなじめるかもしれません。
それでは、早速引数を使ったソースを見てみましょう。
01:#include <stdio.h> 02: 03:void function1(int x) 04:{ 05: printf("x=%d\n",x); 06:} 07: 08:int main() 09:{ 10: function1(3); 11: return 0; 12:} ---------- 実行結果 ---------- x=3main関数の10行目でfunction1関数を呼び出しています。
ただし、これまでの関数の呼び出しと違うのは、
引数に 3 を付けているということです。
続いて、function1関数の処理ですが、変数xの値を表示します。
といっても、変数xは中括弧 {} のなかで宣言されておらず、
変わりに関数名に続く括弧 () のなかで宣言されています。
直感的に理解できた人も多いと思いますが、
function1関数を呼び出す時に書いた 3 がfunction1関数の変数xに代入されています。
少しばかし引数を解ってもらえたでしょうか?
関数の定義時に括弧の中に書く変数(上ソース3行目)のことを「仮引数」といいます。
また、関数呼び出し時に括弧の中に書く数値or変数(同10行目)を「実引数」といいます。
仮引数、実引数はコンマ(,)で区切って複数かけます。
また、関数呼び出し時に書いた実引数が仮引数に代入されます。
仮引数の数、実引数の数は一致していなければなりません。
例えば上ソースの10行目をfunction1(3,5); のようにすると、
コンパイルエラーが発生します。
もう一点注意が必要なのは、仮引数を複数宣言する時は、
(データ型 引数1,データ型 引数2,...) といった感じに、
毎回データ型を書かなければならないことです。
void f(int x,y) ではなく、void f(int x,int y) だということです。
引数がよく解らなくても、いやでも使っていくので、
いずれ使い方が解ってくるのでご安心を(?)