Next:
例題
Up:
ユーザ定義関数
Previous:
ユーザ定義関数
 
Contents
関数の一般形
関数の最も小さいプログラムは、関数名()と書くことができる。 これは何もしない関数になるが、プログラムをトップダウン式に大枠から詳細へ組んで いく過程で、一時的に定義される関数である
。 関数も値を持つので、変数と同様にデータ型と記憶クラスを宣言しなければならない。 以下、定義関数の一般形は次のようになる。
記憶クラス データ型 関数名(仮引き数の型と変数のならび)
{
内部変数;
実行文};
}
ただし、記憶クラスは、staticをつけるかつけないかの2種類しかない。 また、引き数の呼び方は、関数の定義上で使われるものを仮引き数、呼び出し側で使う ものを実引き数と呼ぶ。
C言語の関数には多くの制約がある。次にその制約を示す。
関数に整数値(int型)以外を持たせる場合には、関数のデータ型を宣言しなけ ればならない。省略する関数値はint型になる。
実引き数と仮引き数のデータ型は一致していなければならない。 ただし、呼び出し側で引き数のデータが宣言されている場合は、異なっていてもよい。 この場合、実行時に自動的な型変換が行われる。 (ただし、あまり勧められる方法ではない)
引き数がない場合でも、()でくくる必要がある。(また、引き数が無い場合、 特に引き数を書く必要はないが、引き数がないことをvoidで示した方がよい)
関数の結果として値を返すには、return文を用いる。
分割コンパイルした他のソースファイル上の関数を使用する場合は、呼び出し側 で外部の関数であることを宣言(extern宣言)しなければならない。 (通常は、プロトタイプ宣言が書かれたヘッダファイルを用意し、それをインクルード する方法を取る。)
kojima hirohisa
2001-03-05