【发布时间】:2013-08-08 01:34:43
【问题描述】:
我知道声明 static 的变量仅在声明它的文件中具有范围,而没有声明 static 的变量可以使用 extern 声明从其他文件访问。
但是static“全局”是不是真的是让变量保留上次赋值的值。喜欢静态本地目的?
#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;
}
【问题讨论】:
标签: c static global-variables local-variables