美文网首页iOS开发知识小集
iOS中的static和extern关键字

iOS中的static和extern关键字

作者: 困在屋子里de猫 | 来源:发表于2018-07-06 13:48 被阅读15次

    今天突然想起前阵子面试的时候一道笔试题,问关于static和extern关键字,得空测试了下,整理下,写在这里记录,就不往印象笔记里弄了。

    static:静态关键字,修饰变量、函数;保存在静态区。

    static修饰局部变量和全局变量有不同的表现和注意事项

    1.static修饰局部变量,该变量只初始化一次,保存在静态区,其作用域不会改变,但其内存一直在,直到整个程序运行结束。

    2.static修饰全局变量的时候,该变量的作用域仅在该文件内,外部不可以访问。

    extern:引用外部变量或者函数(多用于C函数);可以引用其他类的全局变量及修改该变量

    如果不想被外部访问的话一定要注意加上static关键字。

    小结:static变量 既不在堆区也不在栈区,是单独的一个系统分配的静态区,这部分的变量不参与引用计数;合理利用局部静态变量;对于定义全局变量要注意外部权限控制;

    参考:https://www.cnblogs.com/cqb-learner/p/5709048.html

    相关文章

      网友评论

        本文标题:iOS中的static和extern关键字

        本文链接:https://www.haomeiwen.com/subject/zpwvuftx.html