C言語の静的変数の特徴

C言語の静的変数の特徴は以下の通りです。

  1. ライフサイクル: 静的変数はプログラム実行中は存在し続けます。つまり、プログラムの実行時間全体とライフサイクルが同じなのです。これとは対照的に、局所変数のライフサイクルは、それが存在するコードブロック内だけに限られています。
  2. スコープ:静的変数のスコープは、その変数が定義された関数やコードブロックに属するローカルスコープです。関数内で定義された静的変数は、その関数内でのみ使用でき、コードブロック内で定義された静的変数は、そのコードブロック内でのみ使用できます。
  3. 静的変数は、スコープに入っても1度だけ初期化され、初期化されていない静的変数は自動的に0になる。
  4. 静的変数は、プログラムの実行中に存在し続け、関数やコードブロックが抜けても破棄されない、静的データ領域に格納されます。
  5. 静的変数はそのソースファイル内でのみアクセス可能で、他のソースファイルからは直接アクセスできません。外部変数はexternキーワードで宣言することで、他のソースファイルからアクセスできます。

つまり、C言語の静的変数は、グローバルな可視性、永続性、一意性を持ち、デフォルト初期化などの特性がある。

bannerAds