static的作用
1)全局静态变量:在静态存储区(bss段,数据段),在整个程序运行期间都存在,只对它所在的文件可见
2)局部静态变量:在静态存储区(bss段,数据段),当定义它的函数或者语句块结束的时候,作用域随之结束,但是(注:)当static用来修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区。局部静态变量在离开作用域之后,并没有被销毁,而是仍然驻留在内存当中,直到程序结束,只不过我们不能再对他进行访问。
3)静态函数:只是对声明它的文件可见,其它文件不可见。好处:
(1)其他文件中可以定义相同名字的函数,不会发生冲突
(2)静态函数不能被其他文件所用。