iOS基础 const static extern

一. 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的工作原理
  • 会先去当前文件下查找有没有对应的全局变量,没有的话,才会去其他文件下查找

你可能感兴趣的:(iOS基础 const static extern)