静态变量static关键字使用与动态变量的区别

为什么用到静态变量?

变量存储有两种方式:静态和动态;动态变量在程序执行时分配存储单元,当所在程序段结束时,自动将这些存储单元释放,静态变量存储在永久性的存储单元中,在下次执行该程序段时仍然使用原来的存储单元。

因此,静态变量的生存周期将一直延长到其所在的整个程序运行结束。
测试代码:
#include<stdio.h>
void sum();
void main()
{
 int a=3;
 static int b;
 printf("a=%d,b=%d\n",a,b);
 sum();
 sum();
}
void sum()
{
 int a=2; 
 static int b=10;
 a+=10;
 b+=20;
 printf("a=%d,b=%d\n",a,b);
}

原文地址:https://www.cnblogs.com/myblesh/p/2248930.html