グローバル変数をstaticをつけて宣言すると、変数の有効範囲はその宣言をしたファイル内に限られます。
外部変数を宣言して、他のファイルから参照することはできません。
例として次のような場合
//ソースファイル1で記述 static int gvar; //ソースファイル2で記述 extern int gvar; //ソースファイル3で記述 extern int gvar;
上記のようにソースファイル2やソースファイル3からgvarを呼び出そうとしてもエラーになります。
■static宣言したローカル変数
static変数はプログラムの開始から終了まで、値が削除されません。
ローカル変数は関数の中で宣言され、関数の処理が終わると同時に破棄されます。
■const宣言
const宣言は変数の値を書き換えられないようにする宣言です。
定数として変数を使用する場合は、この宣言を使います。
const宣言を関数の引数で指定している場合、その引数は関数の中で値が保持されることを保障する動きになります。