iOS中的关键字和宏(2):static与extern总结

1、static关键字修饰局部变量

  • static关键字修饰局部变量时,只会初始化一次且在程序中只有一份内存
  • 关键字static不可以改变局部变量的作用域,但可延长局部变量的生命周期(直到程序结束才销毁)

2、static关键字修饰全局变量

  • static关键字修饰全局变量时,作用域仅限于当前文件,外部类是不可以访问到该全局变量的(即使在外部使用extern关键字也无法访问)

3、extern关键字

  • 想要访问全局变量可以使用extern关键字(全局变量定义不能有static修饰)

全局变量是不安全的,因为它可能会被外部修改,所以在定义全局变量时推荐使用static关键字修饰

系列文章
iOS中的关键字和宏(1):instancetype与id的区别
iOS中的关键字和宏(3):常见的几个宏

参考文章
Static关键字理解(iOS)

你可能感兴趣的:(iOS中的关键字和宏(2):static与extern总结)