首页 > 代码库 > c语言中的static变量

c语言中的static变量

int example(int a)

{

  int b = 0;

  static int c = 3;          

  b = b + 1;        //  b == 1, 1, 1

  c = c + 1;        //  c = 4, 5, 6

  return(a+b+c);    //   7, 8, 8  

}

静态变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。

以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。(如上例所示)

对于静态变量,若未赋初值,则编译时自动赋初值0(对数值型变量)或空字符(对字符型变量)。

c语言中的static变量