C语言之static关键字的使用

来源:互联网 发布:淘宝法律咨询 编辑:程序博客网 时间:2024/05/19 20:20

  在C语言中,static关键字总是让许多人迷糊,因为对应不同的上下文,static关键字有不同的意思。其实我们只要记住下面两点即可。

1、当它用于函数定义或用于代码块之外的变量定义(即全局变量)时,修改了标识符的链接属性,即从external变成了internal,但它们的存储类型不受影响。作用就是这种被static修饰的函数或全局变量只能在其所在的源文件中被访问,别的文件无法访问他们。

2、它用于代码块内的变量的定义时,static关键字能够修改该变量的存储类型,即从自动变量变成静态变量,但变量的链接属性和作用域不受影响。即这种变量在函数执行之前创建,在整个程序执行期间一直存在(只初始化一次,其值一直有效,不随其所在的代码块执行的完成而消失,下次调用该代码块时,该变量仍有效)。