美文网首页
const, static, extern用法, 实际项目中用法

const, static, extern用法, 实际项目中用法

作者: 大城子 | 来源:发表于2018-04-08 17:55 被阅读8次

    const

    1.const只修饰自己右边的变量.
    2.被const修饰的变量是只读的,不可更改.
    注:这就是为什么推荐使用const来替代宏定义,宏定义不会报错,并且是可变的

    static

    说明:
    static修饰的变量只会分配一份内存

    作用:

    修饰局部变量

    1.延长变量的生命周期,程序结束才会销毁
    2.在同一作用域或文件中,只被初始化一次,
    3.改变变量的作用域
    4.会改变局部变量的存储方式, 变量的在内存中的存储方式

    修饰全局变量

    1.只要在同一个文件中,变量的生命周期不会改变,也就是指针所指向的地址不会改变
    2.避免重复定义全局变量: static限制了变量的作用域为当前文件, 其他文件可以定义一个相同的static变量, 如果没有static修饰, 在其他文件中定义了相同名称的全局变量, 会报错.

    extern

    作用:

    extern的作用:声明一个全局变量,不能定义变量
    extern的原理:现在当前文件中查找全局变量,如果没有,再去其他文件中查找

    extern和const的组合使用

    有的时候需要公开常量,就像你的女朋友需要知道今天你花了多少钱,但是你花钱的多少他是不会干涉的,所以这个时候你只需要给外界暴露出一个常量

    @interface ViewController : UIViewController
    //只给外界暴露出一个制只读变量money
    extern NSString *const money;
    @end
    
    #import "ViewController.h"
    NSString *const money = @"100元";
    

    这样就可以外界读取到,但是不能改变

    相关文章

      网友评论

          本文标题:const, static, extern用法, 实际项目中用法

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