1. 变量在函数体内前面加上static 关键字,在这一函数被调用过程中维持其值不变。
例val:
int function()
{
static int val = 3;
...
return 0;
}
2. 声明为在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量,例如下面,a只能在file1中使用,而不能在file2中使用.
例:
/***file1***/
static int a = 3;
int fun1()
{
......
}
int fun2()
{
......
}
/**file2***/
int fun3()
{
......
}
3.在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。如下面fun1只能被file1中的函数调用,而不能被file2中的函数调用.
/***file1***/
static int fun1()
{
......
}
int fun2()
{
......
}
/**file2***/
int fun3()
{
......
}
不足之处,请大家多多指教!