静态变量,静态常量以及全局变量

 静态变量 - static

static修饰的变量,是一个私有的全局变量,只能声明在.m文件中,外部类无法访问。

1.不会改变修饰的局部变量的作用域,但是可以延长局部变量的生命周期

2.只会最开始调用的时候初始化一次,在内存中只会存一份,存于静态存储区,程序结束,所修饰的变量才会被销毁

常用实例:

1.单例:static修饰的全局变量,初始化一次之后,不会被释放掉。

2.UITableViewCell cellId,初始化一次,方法结束之后,重新调用不需要初始化,存于静态存储区,值并未改变

静态常量 - const

const修饰的变量是不可变的,试图修改的话,编译器会报错,修饰右边原则,定义不可变的

全局变量 - extern

extern修饰全局变量,和宏定义类似,宏定义程序启动时预编译,extern初始化编译,初始化一次,宏能定义方法,但是每次都有替换的过程,宏定义太多预编译的时间比较长

extern和const static结合使用

原文地址:https://www.cnblogs.com/xiaomaisgs/p/7506298.html