1,static
声明局部变量
函数调用结束后不消失而保留原值,即其占用的存储单元不释放,下次调用此函数时,该变量已有值,就是上次函数调用结束时的值
eg:
int f()
{
static c=3;
c=c+1;
return (c);
}
main()
{
for(int I=0;i<3;i++)
printf(“%d ”,f());
}
结果:4 5 6
2,static
声明全局变量
此外部变量只限于被本文件引用,而不能被其他文件引用
eg:
file1.c
file2.c
static int ;
extern int A;
main()
fun(int n)
{…}
{…A=A*n;…}
结果是:虽然在file2.c文件中用了”extern int A;”,但file2.c文件中无法使用file1.c中的全局变量A
3,static
声明函数
此函数是内部函数又称静态函数,此时函数只局限于所在文件,如果不同文件中有同名的内部函数,互不干扰。通常把只能由一文件使用的函数和外部变量放在一个文件中,在它们前面都冠以
static
使之局部化,其他文件不能使用。