C语言的变量拥有两种生存期
--静态存储期 (static storage duration)
--自动存储期 (automatic storage duration)
具有文件作用域的变量属于静态存储期,函数也属于静态存储期,属于静态存储期的的变量在程序执行期间将一直占据存储空间,直到程序关闭才释放
具有代码块作用域的变量一般情况下属于自动存储期,属于自动存储期的变量在代码块结束时将自动释放存储空间.
int A; //全局
static int B; //变成内部
extern int C;
void func(int m, int n) //属于静态
{
int a, b, c;
}
int main(void)
{
int i, j, k; //自动存储期
return 0;
}
原文:https://www.cnblogs.com/gyh2000/p/14517241.html