しかし全体の原始ファイルですべての機能からの変数へのアクセスを必要とすれば、これまた静的なキーワードと、すべての機能の外の定義を置くことによってされる缶。 例えば:
#include <stdio.h>
static int num = 10; /* 全体の原始ファイルから入手しやすいがありなさい */
int main(void)
{
printf("The Number Is: %d\n", num);
return 0;
}
そしてまた変数が複数の原始ファイルから成るかもしれない全体のプログラムから入手しやすいです必要がある場合がある。 これはそれが要求されないときグローバル変数と呼ばれ、避けるべきである。
これはまたすべての機能の外の、静的なキーワードを使用しないで定義を置くことによってされる:
#include <stdio.h>
int num = 10; /*全体のプログラムから入手しやすいがありなさい! */
int main(void)
{
printf("The Number Is: %d\n", num);
return 0;
}
また他のモジュールでアクセスのグローバル変数のために使用されるエキスターンのキーワードがある。 またあなたが可変的な定義に加えることができる少数の修飾詞がある。 それらの最も重要のconstである。 constが変更されないかもしれないので定義される変数。
より少なく一般的の2つのより多くの修飾語がある。 揮発性および記録の修飾語。 揮発修飾語はそれが読まれる度に編集者が実際に変数にアクセスするように要求する。 それはのまたはそうそれを記録置くことによって変数を最大限に活用しないことができる。 これは目的等を処理するmultithreadingおよび割り込みのために主に使用される。
記録の修飾語は編集者を記録に変数を最大限に活用するように要求する。 これは自動変数とだけ可能であり、多くの場合編集者は選り抜き記録に最大限に活用するべき変数をよくすることができる従ってこのキーワードはすたれかかっている。 可変的な記録の唯一の直接結果は住所が取ることができないことである。
次のページで与えられる変数のテーブルは5タイプの貯蔵のクラスの貯蔵のクラスを記述したものだ。
テーブルで私達はエキスターンキーワードが2列に置かれることを見る。 機能でエキスターンのキーワードが他の所で定義される静的で外的な変数を宣言するのに使用されている。
可変的な貯蔵のクラス |
定義されるように |
規模 |
クラス |
キーワード |
自動 |
キーワードは任意である |
一時的 |
機能 |
ローカル |
静的 |
静的 |
一時的 |
機能 |
ローカル |
記録 |
記録 |
一時的 |
機能 |
ローカル |
外面 |
任意 |
永久的 |
機能の外 |
全体的(すべてのファイル) |
外面 |
静的 |
永久的 |
機能の外 |
全体的(1つのファイル) |
|