/* 関数mainの定義 */ int main(void) { int x, y; /* 関数の引数となる変数 */ int val; /* 関数が求めた値を格納する変数 */ x = 2; /* 関数の第1引数 */ y = 1; /* 関数の第2引数 */ /* 関数呼び出し */ val = func(x, y); /* 結果をvalに格納 */ printf("val = %d\n", val); /* 関数値を表示 */ }
関数呼び出しは、関数名(実引数,実引数,...)という形で行われます。例の場合は、関数名がfunc、実引数がx, yです。
実引数が存在しない場合は、関数名()として呼び出します(括弧は省略できない)。 例えば、func()のように記述します。実引数には実際に参照可能な変数、式、値を指定する必要があります。
よって、例のように変数だけでなく、func(2,x*2)のように定数値や計算式でも指定可能です。このことは、実引数の値を仮引数に代入する、と考えれば、容易に理解できるでしょう。
関数が値を返す場合は、その値を参照することができます。上のプログラムでは、関数が値(この場合は、3*x+2*y+1の計算結果)を返すため、その値を val という変数に代入しています。