简略易懂版
静态变量特征:
1.用static修饰
2.静态变量的存放地址,在整个程序运行期间,都是固定不变的。
举例:
1.非静态变量
void Func();
int main(){
Func();
Func();
Func(); //在主函数中调用Func函数三次
}
void Func()
{
int n = 4;
//初始化语句 将非静态局部变量n初始化为4
//且每次执行Func函数都会运行这一行
printf("%d",n); //输出4
++n;
}
2.静态变量
void Func();
int main(){
Func();
Func();
Func(); //在主函数中调用Func函数三次
}
void Func()
{
static int n = 4;
//初始化语句 将非静态局部变量n初始化为4
//且每次执行Func函数都会运行这一行
printf("%d",n); //输出4
++n;
}
输出结果对比:
可知,静态变量对同一地址进行++操作,而非静态变量对数4进行++操作