static 变量有两种情况
1.static 在函数内部,表示这个变量是存储在静态存储区的,只不过他的作用域仅仅是该函数内部,加上static 改变的是它的生存期。
static 局部变量只初始化一次,下一次引用的是上一次的值。这个函数被销毁之后,这个静态局部变量还存在静态存储区中,直到程序结束。
2.static 在函数外部定义,与全局变量的区别就是,static变量的作用域仅仅是该文件内,其他文件不能通过extren 来使用该变量。
static 函数与 static 全局变量类似,都是只能在本文件中被引用。
static 函数在内存中只有一份,而普通函数则在每次被调用的时候都有一份拷贝。