一. const
1. const与宏的区别
- 编译时刻
- 宏 预编译 (xcode加载项目,进度条的时刻)
- const 编译(xcode command + B / command + r 的时刻)
- 编译检查
- 宏 没有编译检查
- const 有编译检查
- 宏的好处
- 宏 定义函数和方法
- const 不可以定义函数和方法
- 宏的缺点
- 大量使用宏,会导致预编译的时间变长
2.const的作用
- 修饰
右侧
的基本变量或者指针变量 - 被const修饰的变量是
只读
的
3.const在开发中的使用
- 修饰
全局变量
变成全局只读变量
- 修饰
方法中的参数
二. static
1.static的作用
- 修饰
局部变量
延长局部变量的生命周期,跟整个应用程序有关- 只会分配一次内存
- 程序一运行就会分配内存
- 修饰
全局变量
- 作用域会改变,只可以在当前文件下使用
三. extern
1.extern的作用
- 声明外部的
全局变量
- 只能用于声明,不可以用于定义
2.extern的工作原理
- 会先去当前文件下查找有没有对应的全局变量,没有的话,才会去其他文件下查找