宣言された変数は、宣言さstatic
れたファイル内でのみスコープを持ちますが、宣言されていない変数はstatic
、extern 宣言を使用して他のファイルからアクセスできます。
static
しかし、 「グローバル」が変数に最後に割り当てられた値を保持させることは本当ですか。Static Local Purpose のように?
#include <stdio.h>
void func() {
static int x = 0; // x is initialized only once across three calls of func()
printf("%d\n", x); // outputs the value of x
x = x + 1;
}
int main(int argc, char *argv[]) {
func(); // prints 0
func(); // prints 1
func(); // prints 2
return 0;
}