int f() //在C语言中,函数f()隐含为外部函数
{
static int a = 0; //静态局部变量(在内存的静态存储区分配空间,在程序运行时即分配内存空间,并且运行结束,变量a还占用这个内存空间,不释放!;虽然是局部变量,但是static修饰的局部变量他的性质和全局变量非常的相似;它只能被自己的函数调用,调用值是上次程序结束时变量a的值.)
.....
return 0;
}
extern int f() //extern 声明,不管在文件内还是文件外,都可以使用函数f(),除非用static修饰函数 f().
int g()
{
static int b = 1;
f(); //调用函数f(),就可以访问变量a了,但是可惜函数的返回值永远是0.但是在函数体内部,变量a一直在被运算,并且保存a的结果,可惜最后的语句是 return(0)而不是retur(a).