グローバルに宣言された変数はプログラムスコープ
を持っていると言われますstaticキーワードでグローバルに宣言された変数はファイルスコープを持っていると言われます。
例えば:
int x = 0; // **program scope**
static int y = 0; // **file scope**
static float z = 0.0; // **file scope**
int main()
{
int i; /* block scope */
/* .
.
.
*/
return 0;
}
これら2つの違いは何ですか?