1、用static声明局部变量
用关键字static声明局部变量为“静态局部变量”时,可以让该局部变量在函数调用结束后不消失而保留原值,即其占用的存储单元不释放。
static int a = 1;
- 静态局部变量属于静态存储类别,在静态存储区内分配存储单元。
- 静态局部变量是在编译时赋初值的,且只赋初值一次。
- 如果在定义静态局部变量时没有赋初值,编译时将自动赋初值0或空字符。
- 虽然静态局部变量在函数调用结束后仍然存在,但其他函数不能引用它的。
2、用static声明外部变量
有时在程序设计中,希望某些外部变量只限于被本文件引用,而不能被其他文件引用。这时,可以在定义外部变量时加一个static声明。
3、用static定义内部函数
如果一个函数只能被本文件其他函数所调用,他成为内部函数。在定义内部函数时,在函数名和函数类型的前面加static。
static int fun(int a, int b);
- 在不同的文件中有同名的内部函数,互不干扰。