ストレージ クラスは、変数のスコープ、ライフサイクル、バインドを指定します。
変数を完全に定義するには、その「型」だけでなく、そのストレージ クラスについても言及する必要があります。
変数名は、変数の値を格納するためにビットのセットが割り当てられるコンピュータ メモリ内の物理的な場所を識別します。
ストレージ クラスは次の要素を示します -
変数のライフタイムは、コンピューターがその変数にメモリを割り当てる期間 (メモリの割り当てから割り当て解除までの期間) を定義します。
C 言語では、変数に自動、静的、または動的ライフサイクルを持たせることができます。
C 言語には 4 つのストレージ クラスがあります。
ストレージ クラス | ストレージリージョン | デフォルトの初期値 | ライフサイクル | スコープ | キーワード |
---|---|---|---|---|---|
自動 | メモリ | コントロールがブロック内に残るまで | コントロールがブロック内に残るまで | ローカル | 自動 |
#CPUレジスタ | ##ガベージ値##制御がブロック内に残るまで | ##ローカル#static | memory | ||
関数呼び出し間の値を登録します | local | static | 外部 | メモリ | |
プログラム全体の実行 | グローバル | 外部 | 例 | 次は、自動ストレージ クラスの C プログラムです。 tr> |
#include<stdio.h> main ( ){ auto int i=1;{ auto int i=2;{ auto int i=3; printf ("%d",i) } printf("%d", i); } printf("%d", i); }
上記のプログラムを実行すると、次の出力が生成されます-
3 2 1
Example
ライブデモ
#include<stdio.h> extern int i =1; /* this ‘i’ is available throughout program */ main ( ){ int i = 3; /* this ‘i' available only in main */ printf ("%d", i); fun ( ); } fun ( ) { printf ("%d", i); }
上記のプログラムを実行すると、次の出力が生成されます -
3 1
以上がC言語で変数のライフサイクルを説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。