文法事項: “宣言”に追加
分類 | 一般形 | 補足説明 |
---|---|---|
関数プロトタイプ宣言 |
型 関数名 ( 型 変数名 , ..., , 型 変数名 ) ;
|
変数名は省略可能 |
関数定義が使うよりも前にある場合は、定義が宣言を兼ねるのでプロトタイプ宣言は不要である。
#include <stdio.h>の stdio.hはヘッダファイルと呼ばれ、
printf
, putchar
などの
関数のプロトタイプ宣言が集められたファイルである。
bcc32の場合、c:\borland\bcc55\Include\stdio.h
に実体がある。
(処理系により標準のヘッダファイルがおかれる場所は異なる。)
#include
はファイルの内容を、そっくりそのままその場所に読み込む指令である。
ライブラリ関数(前もって用意された仮数)を利用する時は、
適切なヘッダファイルをインクルードする必要がある。
例えば、sin
, cos
,
sqrt
などの数学関数を利用する時は math.hをインクルードする。
static
という修飾子がついていないもの
static
という修飾子がついているものfactorial(5) -> 5 * factorial(4) -> 5 * 4 * factorial(3) -> 5 * 4 * 3 * factorial(2) -> 5 * 4 * 3 * 2 * factorial(1) -> 5 * 4 * 3 * 2 * 1 * factorial(0) -> 5 * 4 * 3 * 2 * 1 * 1注:
繰返し(for
, while
)で簡単に実現できることを,
再帰で書くのは(C言語の場合)良いこととはいえない。上の例題プログラムは、
あくまでも再帰を説明するためのものと考えること。
再帰関数には、特別な文法も特別な実行規則も必要ない。 あくまでも C言語の普通の関数で、普通の実行規則に基づいて計算される。
現時点のC言語の知識では、 再帰関数の例として、パズルのようなプログラムしか示すことができない。 しかしもう少し複雑なデータ構造を扱う時は、再帰関数はごく日常的なものである。