int get_some_value( int a, int b, int c);
int get_some_value( int a, int b, int c) { return ( a + b ) * c; }大きなプログラムはファイルを分割してそれぞれコンパイルされる。 使いたい関数の定義が呼び出すファイルの中にない場合、 プロトタイプ(宣言)だけを記述し、コンパイラに関数の仕様を 明示する。
/* file1.c */ /* プロトタイプ宣言 */ int get_some_value( int a, int b, int c); /* 呼び出し側 */ main() { int answer; answer = get_some_value( 1, 2, 3); } /* end of file */プロトタイプ宣言だけを1つのファイルにまとめておくことも多い。 実は
#include < stdio.h >は関数 printf(), scanf() などのプロトタイプ宣言の書かれたファイル stdio.h を引用するための記述である。
int global_val;他のファイルから参照するときは extern 宣言する。
static int file_local_val;他のファイルからは参照できない。
static int static_val;他の関数からは参照できない。
int static_val;関数が終了すると同時に領域も消去される。