个人理解:
使用static有三种情况:
① 修饰局部变量
static修饰局部变量,只能初始化一次,但是值使能改变的,保留上一次的值(回想一下蓝桥杯单片机的中断服务函数)
② 修饰全局变量
static修饰的全局变量,只是限制该变量在本文件中使用
③ 修饰函数
static修饰的函数,只是限制该变在本文件中使用,static函数的作用域仅限于定义它的源文件内,所以不需要在头文件里声明
总结:
函数内部的static变量,关键在于生命周期持久,
他的值不会随着函数调用的结束而消失,下一次调用时,
static变量的值,还保留着上次调用后的内容。
函数外部的static变量,以及static函数,关键在于私有性,
它们只属于当前文件,其它文件看不到他们。