前情摘要:温故而知新
一、限定作用范围static修饰的局部变量的生存期虽然整个源程序,但是其作用域被限制在函数内。
二、变量只初始化一次存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。因此,static修饰的变量只初始化一次,未经初始化的静态局部变量编译器会自动初始化为0。
#include//变量只在第一次调用此函数时,初始化为10, //以后再次调用此函数,就不会被进行初始化了,只执行temp--。 int test(){ static int temp = 5; return temp--; } int temp = 1; int main(void) { for(; temp <= 10; ++temp) printf("%dtt%dn", temp, test()); return 0; }
程序运行结果:
1 5 2 4 3 3 4 2 5 1



