Cプログラムは「関数」という小さなプログラムの集まりで構成されます。 main() も実は関数ですし、printf() や scanf() も関数です。
この章では、「ユーザ関数」と呼ばれる、製作者側で作成する関数について学習します。
ある規模以上のプログラムを main()だけで作成すると、ステップ数の多い理解しにくいプログラムができあがってしまいます。 ですから、プログラムはいくつかの関数に分けて作成する方が、コンパクトで理解しやすいものとなります。 また、同じような処理を複数の個所で行っている場合、関数としてその処理をまとめてしまうと全体のステップ数も減ることになります。
まず、関数を用いた場合、プログラムはどのような順番で実行されるのかを下図に示します。 下図では main()から wa() という関数が呼ばれるようになっています。
このとき wa()にデータ a, b を渡す。
これを実引数(じつひきすう)と呼ぶ。
この x, y を仮引数(かりひきすう)と呼ぶ。
このとき、データzの値を返す。このzをリターン値と呼ぶ。
次に実際に上の例をプログラムで記述してみます。
このように、関数を使用する場合には、
プロトタイプ宣言、関数、return、void について説明します。
コンパイラに、関数名、return型、引数の型を知らせる
return型 関数名(引数型と仮引数名の並び);
return型 関数名(引数型と仮引数名の並び) { 関数内変数の宣言 実行文 return文; }
return 値; が一般的
return 式; 直接式でも可
return;
※ 値を返す必要のない、2.の「return;」は関数の最後でリターンする場合は通常省略されます。 ただし、処理の途中でリターンする場合は省略はできません。 なお、省略した場合には、関数終了の } でリターンします。
void func(void) { 処理 if (条件) return; ⇒ 省略不可 処理 return; ⇒ 省略可 }
void func(void) 1. 2.
※ 関数は一般に引数によって値を受け取り、returnで返却値を返すものですが、 中には引数が必要無い関数や返却値の無い関数も存在します。 そのような場合、「引数が無い」ことや「return値が無い」ことを 明示するために「void」は用いられます。 次に示す「えんしゅう」では、問1 に「return値、引数が共にない関数」、 問2 に「引数はあるが return値の無い関数」を用意してみました。 簡単ですからやってみてください。
main関数もOS に対し戻り値を返却します。そのため、return型とreturn文を記述し、
int main(void) { 処理 return 0; }
とします。返却値の0は正常終了を示しています。
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved