const , static , extern 关键字用法和技巧

415 查看


来实现诺言了,接着上篇的承诺,给大家说一下这几个关键字的用法


其实这几个关键对于基础来讲还是很重要的,无论是面试当中被提及的频率,还有在项目当中的使用,先跟大家说一下最基本的解释,也就是有关面试题的回答

定义和简单使用

const

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

static

作用:
修饰局部变量

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

修饰全局变量

  • 1.只要在同一个文件总,变量的生命周期不会改变,也就是指针所指向的地址不会改变
  • 2.避免重复定义全局变量

    extern

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

他们几个在项目当中的经典使用场景(重磅)

static和const的组合使用

  • 当项目中UIView的过渡动画都是0.3秒,这个时候需要定义一个全局变量了,你会怎么办,定义一个预编译的宏?

    解决办法

    extern和const的组合使用

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



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