跳到主要内容

program-structure

局部变量

局部变量:在函数内声明的变量。

具有特质:

  • 自动存储期限:变量的存储单元在包含该变量的函数被调用时自动分配,函数返回时自动回收;
  • 块作用域:从变量声明的点开始到函数体的末尾。

静态局部变量

使用关键字static的修饰,局部变量有静态存储期限。静态存储期的变量拥有永久的存储单元,静态局部变量在程序的执行期间都会保留变量的值。

int add()
{
static int static_var = 0;

return static_var;
}

形式参数

两者类似。形参和局部变量唯一真正的区别在于:形参会在函数调用时自动初始化。

外部变量

外部变量:说明在任何函数以外的变量。

具有特质:

  • 静态存储期限:拥有永久的存储单元,在程序执行期间值会一直被保留。
  • 文件作用域:变量声明点开始到文件的末尾。

外部变量可以让函数直接接触到变量,但是弊端也是显而易见的。应该避免使用。