6.1   関数って何


   C言語の特徴の1つは、プログラムの部品化構造です。部品化構造とは、それぞれ独自の仕事をする部品をいくつか組み合わせて、全体として1つのプログラムを作り上げることです。そのときのプログラムの1部分を分離させて、それぞれの仕事を分担させる1つ1つの部品が「関数」です

   たとえば、家を建てるときに最初から最後まで自分一人で仕事をするのは、決して効率的ではありません。家を組み立てるのは大工、塗装をするのは塗装業者、電気の配線をするのは電気屋などといったように、それぞれのプロに任せたほうがずっと効率的です。C言語のプログラムでもそれと同じです。大きなプログラムを作るときには、それをいくつかの機能ごとに「関数」として部品化して、それぞれの仕事はそれぞれの「関数」に任せます。

   Cプログラムは、すべて「関数」の集まりでできていますが、main( )関数は必ず含まれていなければならない関数で、Cプログラムの実行は、すべてこのmain( )関数から始まります。先ほどの、家を建てるときの例で言えば、main( )関数は、依頼主、もしくはプロジェクト・リーダーのような存在です。小さくて簡単な仕事だったら自分一人だけで実行することもできますが、大きくて複雑だった場合は、仕事をそれぞれのプロの職人に割り振り、全体を監視します。
   main( )関数が、必要に応じて他の関数を呼び出し、呼び出された関数が更に必要に応じて他の関数を呼び出す、という具合にプログラムが実行されるのが一般的です。
   関数が他の関数を呼び出したときは、呼び出し元の関数は一時的に実行を停止して、呼び出された関数の実行が終わって結果が返ってくるまで待ちます。


「もくじへ」