staticの使い方3〜静的関数〜


目次に戻る


全5連載のstaticの使い方紹介も今日で中盤。C言語に対応した話は今日が最後です。 今日のstaticの用法は関数に対して用いた場合の話です。
 
static宣言された関数は静的関数と呼ばれ、関数外静的変数と同じように関数の有 効範囲が定義されているファイル内のみ有効で、定義されているファイル外では利用でき なくなります。
これは、オブジェクト指向のカプセル化(情報隠蔽)に似ています。
 
一口メモ
カプセル化というのは、誰でも利用できる関数や変数は極力 少なくする事を言います。
これは、他の人(外部のファイル)は絶対に呼び出してはい けない、もしくは呼び出す必要が無いような関数は外部から見えなくしてしまった方が誤 使用が減り、安全性が高くなるとい考えに基づいています。
 
静的変数を作る方法はいたって簡単で、プロトタイプ宣言の頭と関数定義の頭に static と書くだけです。注意点としては、静的関数のプロトタイプ宣言をヘッダファイルに 書いてはいけません。これは静的関数の性質を考えれば当然の事ですが、一応頭に入 れておいてください。
 
/* 静的関数の関数プロトタイプ宣 言の例 */
static int testfunction( int value );
 

/* 静的関数の関数定義の例 */
static int testfunction( int value )
{
   int a;
    :
    :
    :
   return a;
}



目次に戻る