美文网首页
iOS 中的几个关键字:const,static, extern

iOS 中的几个关键字:const,static, extern

作者: JaromeHuang | 来源:发表于2016-06-21 15:48 被阅读53次

static的作用

  • 修饰局部变量

    • 让局部变量只初始化一次
    • 局部变量在程序中只有一份内存
    • 并不会改变局部变量的作用域,仅仅是改变了局部变量的生命周期(只到程序结束,这个局部变量才会销毁)
  • 修饰全局变量

    • 全局变量的作用域仅限与当前文件

extern

  • 要引用全局变量的时候使用, 但如果 在一全局变量个变量前面加上了static,那么他就不能使用了
    如:
extern NSString *const kAPIKeyForStatisticsUsageMonthTimeLine;

const

const 来修饰一些数据:如果被他修饰的数据,这个数据就只能相当于常量,在其他地方引用的这个数据是不能被改变的,如果被改变,就会编译器就会立即报错

例如如果你去面试ios,就可能会面试到:下面个有啥不同
const int *p1
int const * p2
int *const p3

const int *p1 :因为const 修饰的 *p1, 所以 *p1 是不能被改变,但p1 能被改变

int const * p2 : 跟第一句是一样的 因为const 修饰的 *p2, 所以 *p2 是不能被改变,但p2 能被改变

int const p3 :因为const 修饰的 p3, 所以 p3 是不能被改变,但p3 能被改变

所以在项目中我们经常可以看见一些常量的文件如下:api 文件
在左边是两个文件,第一个文件是.h 文件是引用到哪些全局变量,这样只要把这个.h 文件导入到你要用的文件,这些全局变量,你都能使用了,


Snip20160621_6.png

在第二个文件是.m 文件 定义哪些全局变量


Snip20160621_9.png

相关文章

网友评论

      本文标题:iOS 中的几个关键字:const,static, extern

      本文链接:https://www.haomeiwen.com/subject/izjgdttx.html