四种变量的区别(局部变量,全局变量,静态局部变量,静态全局变量)

时间:2022-10-25 20:23:04

区别:

1. 局部变量:

  (1)在函数体内部或者复合语句中定义的变量称为局部变量。

  (2)作用域为当前的函数体。

  (3)在栈区(动态存储区)分配。

  (4)函数调用时开始分配,调用结束时释放。

2. 全局变量:

  (1)在函数体之外定义的变量称为全局变量。

  (2)当前文件所有函数都可以调用该变量,其他文件调用需要使用extern关键字。

  (3)在静态存储区分配。

  (4)程序运行期间不释放。

 

3. 静态局部变量:

  (1)在函数体内部定义并加上static关键字修饰的变量。

  (2)作用域为当前函数体,函数调用后不释放,值保留为最后一次调用的值。

  (3)在静态存储区分配。

  (4)程序运行期间不释放。

 

4. 静态全局变量:

  (1)在函数体以外定义并加上static关键字修饰的变量。

  (2)作用域为当前文件。

  (3)在静态存储区分配。

  (4)程序运行期间不释放。