【C语言】static
主要作用
1、static修饰局部变量,生存周期为整个源程序,其作用域与变量相同,只能在定义该变量的函数内使用。退出函数后,该变量还继续存在,但不能使用它,再次调用该函数可以再次使用;
(1) 该变量在全局数据区分配内存
(2) 如果不显示初始化,那么将被隐式初始化为0
(3) 它始终驻留在全局数据区,直到程序运行结束
(4) 其作用域为局部作用域,当定义它的函数或语句块结束时, 其作用域随之结束。
2、static修饰全局变量,这个全局变量只能在本文件访问,不能在其它文件中访问,即便时extern外部声明也不可以;
(1) 在全局数据区内分配内存
(2) 如果没有初始化,其默认值为0
(3) 该变量在本文件内从定义开始到文件结束可见
3、static修饰一个函数,则这个函数只能在本文件中调用,不能被其它文件调用;
(1) 静态函数只能在本源文件中使用
(2) 在文件作用域中声明的inline函数默认为static