Dienstag, 29. September 2015

什么是静态局部变量

静态局部变量:函数中的局部变量的值在函数调用结束后不消失而保留原值
         即其占用的存储单元不释放,在下一次该函数调用时,仍可以继续          使用该变量
         用关键字static 声明, static int value1 = 20;

例子:

#include<iostream>
using namespace std;

void function()
{
  int a = 0;//动态局部变量
  static int b = 0;//静态局部变量
  a = a + 1;
  b = b + 1;
  cout << "a = "<<a<<endl;
  cout << "b = "<<b<<endl;
}

int main()
{
  for(int i = 0;i < 4;i++)
  {
      function();//每次调用函数的时候,会对变量a在开辟一片内存空间
   }             //但是b不会释放掉,所以就会累加;

}
打印出来的结果就是a=1,b=1;a=1,b=2;a=1,b=3;a=1,b=4;


Keine Kommentare:

Kommentar veröffentlichen