ここでは 変数 Prw に関数 ran() を呼び出し、その出力を代入している。関数は通常
1, 前処理系での関数プロトタイプ宣言
関数プロトタイプ宣言では用いる関数について関数の型や、名前、必要な引数を定義する。引数とは呼び出された関数から「引き渡される値」である(呼び出した関数が「引き渡す値」とも言えるが)。
型 関数名(型 引数, 型 引数, …)関数の型は変数の定義で説明した基本型に加え void 型(値を返さない)がある。引数の型も同様である。この例では倍精度実数型の関数 ran を定義している。引数はない。また、前処理系で直接関数を定義する場合は関数プロトタイプ宣言を行う必要はない。
2, 関数の定義
一般的な関数の書式は
型 関数名(型 仮引数, 型 仮引数, …){ 文; return 返却値; }で書かれる。型を省略すると int 型 になる。
仮引数の名前は元の関数の引数と同じである必要はない。関数内で定義された変 数の値は、一度関数から抜けると消える。ただし、この例では型の前に ''static'' と置くことで、関数から抜けた後もその値を保持し続ける (long は扱える桁の範囲の広がった int 型と覚えておけば良い)。
引数は基本的に値のみを関数に渡す。すなわち、関数側は値をいれる格納庫(仮 引数)を用意していて、本体からは値のみが格納される。関数での出力は return 文の返却値を通してのみしか返されない。そのため、仮引数の 変更は元の関数の引数には反映されない。仮引数の変更を元の関数の引数に反映 させるにはポインタを用いる必要があるが、ポインタについては次章で述べる。