static

修饰全局变量

在全局变量前加static,全局变量就被定义成为一个全局静态变量

特点如下:

1)存储区:静态存储区没变(静态存储区在整个程序运行期间都存在);

2)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。非静态全局变量的作用域是整个源程序(多个源文件可以共同使用); 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。但是在OC中,如果全局静态变量声明在.h中,其作用域还是整个源程序。

好处:

1)不会被其他文件所访问,修改;

2)其他文件中可以使用相同名字的变量,不会发生冲突。

修饰局部变量

在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。

特点如下:

1)存储区:由栈变为静态存储区,生存期为整个源程序;

2)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容