next up previous contents
Next: 階乗計算 Up: c Previous: ヒント   Contents

C言語プログラミング上級編2
- 再帰呼び出し-

再帰呼び出しとは、関数の中で自分自身を関数として呼び出すことである。 C言語では再帰呼び出しが可能である。 関数内部で使用する変数は自動変数であり、その引き数は「値の受け渡し」にしておく 必要がある。自動変数は、その関数が呼び出されるに新しく作成されるので、 関数の中から自分自身を呼び出しても次々と新しい記憶領域が占有される。 従って、再帰的なアルゴリズムには、出口が存在しなければならない。 もし出口が無い場合には無限に同じ処理が繰り返され、スタックを食いつぶし、 スタックオーバーフローを起こしてしまうからである。 以下、再帰呼び出しを用いた計算例を幾つか示す。



Subsections

kojima hirohisa
2001-03-05