静态变量(static)的特点

静态变量(static):有局部变量,也有全局变量。

静态局部变量:在函数体内用static说明的变量称为静态局部变量,属于静态类别。

特点:

(1)它占据一个永久性的存储单元。随着文件的存在而存在。

(2)静态局部变量是在编译时赋初值,在程序执行期间,一旦存储单元中 的值改变,就不会再执行赋初值的语句。未赋初值的变量其值为0。

include "stdio.h"

int f(int a)
{
int b=0;

static int c=3;//有static和没有static的输出结果不一样
b=b+1,c=c+1;//有static输出7 8 9 ,没有static输出7 7 7
return (a+b+c);
}

int main()
{
int i,a=2;
for(i=0;i<3;i++)
printf("%d\n",f(a) );
return 0;

}

include "stdio.h"

int fun(int n)

{
static int f=1;
f=f*n;
return f;
}
int main()
{
int i;
for(i=1;i<=5;i++)
printf("%d\n",fun(i) );
return 0;
}
//输出结果是1 2 6 24 123

posted @ 2015-05-13 00:39  樱风凛  阅读(11467)  评论(0)    收藏  举报