大家对于static 一定不会陌生。在各种高级语言中出现!!!
接下来讲述在开发ios 程序需要注意的一些细节!及其作用!
static 全局变量与普通全局变量的区别 ?
全局变量(即外部变量)前边加上修饰关键字 static 就构成了静态全局变量。 普通全局变量的存储方式就是静态的, static(静态)也属于静态存储方式。两者在存储方式并无不同。 区别在于非静态全局变量的作用域属于整个源程序。 当一个源程序有多个源文件组成时,非静态的全局变量在各个源文件中都是有效的! 静态全局变量限制了其作用域,(即只在源文件中有效)在同一源程序中的其它源文件无法使用,例子:定义单例时候
staticdispatch_once_t onceToken;
防止了其他文件单元中被引用。
static 局部变量与普通局部变量的区别?
局部变量改为静态变量后是改变了存贮方式(生命周期)
static局部变量只被初始化一次,下一次依据上一次结果值
static 函数与普通函数的区别?
static 与普通函数作用域不同,static 函数在内存中只有一份,普通函数在每个被调用中将维持一份copy
如有什么不恰当理解错误的地方 欢迎指出一起探索与深究!