静态变量(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  樱风凛  阅读(11259)  评论(0编辑  收藏  举报