C 言語のさまざまなストレージ クラスは何ですか?それらをプログラムで解釈します。
ストレージ クラスは、C プログラム内に存在する変数または関数のスコープとライフサイクルとして定義されます。
C 言語のストレージ クラスは次のとおりです。
ローカル変数のスコープは、ローカル変数が宣言されているブロックに制限されます。
これらの変数はブロック内で宣言されます。
デモ
#include<stdio.h> void 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
これらの変数はブロックの外で宣言されているため、グローバル変数は
#スコープ とも呼ばれます - グローバル変数のスコープはプログラム全体で使用できます。
ライブデモンストレーション
#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); }
31
ライブデモンストレーション
#include<stdio.h> main (){ inc (); inc (); inc (); } inc (){ static int i =1; printf ("%d", i); i++; }
1 2 3
レジスタ変数の値は、メモリではなく CPU レジスタに格納されます。通常の変数はメモリに保存されます。
#include<stdio.h> main (){ register int i; for (i=1; i< =5; i++) printf ("%d",i); }出力
1 2 3 4 5
以上がC言語のさまざまなストレージクラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。