全部博文(92)
分类: 嵌入式
2010-06-08 11:23:06
static 关键字
当函数中的局部变量的值在函数调用结束后不消失而保留原值时,该变量称为静态局部变量。用关键字static进行声明。
对静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。
例8.18 输出1到5的阶乘值
#include
void main()
{int fac(int n);
int i;
for(i=1;i<=5;i++)
printf(″%d!=%d\n″,i,fac(i));
}
Int fac(int n)
{static int f=1;
f=f*n;
return(f);
}
用static声明外部变量
在程序设计中,某些外部变量只限于被本文件引用,而不能被其他文件引用。这时可以在定义外部变量时加一个staitic声明。
例如:
file1.c file2.c
static int A; extern int A;
void main ( ) void fun (int n)
{ {…
… A=A*n;
}
用static声明内部函数
如果一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static。即
static 类型标识符 函数名(形参表)
例如: static int fun ( int a , int b )