一、static
用static修饰变量,就是指该变量空间独立于函数中的auto变量或者栈变量,static变量空间在内存中的静态区内分配。
二、static作用
1.修饰局部变量
在一般情况下,局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束为止。注意:虽然用static对局部变量进行修饰过后,其生命周期和存储空间发生了变化,但是其作用域并没有改变,它仍然是一个局部变量,作用域仅限于该语句块。
在用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。
代码如下(示例):
#include <stdio.h>
void fun()
{
static int a = 1;
a++;
printf("%d\n",a);
}
int main(