美文网首页
static,const,extern

static,const,extern

作者: 哥只是个菜鸟 | 来源:发表于2021-04-16 11:48 被阅读0次

const

1.const只修饰右边的值

NSString * const account = @"account";  //account不可变
NSString const *account = @"account";  //account可变

2.const会编译检查,会报编译错误,宏定义是预编译(编译之前处理)

宏的好处:宏能定义一些函数,方法。 const不能。

宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换。

static

  • 修饰局部变量:

1.延长局部变量的生命周期,程序结束才会销毁。

2.局部变量只会生成一份内存,只会初始化一次。

3.改变局部变量的作用域。

  • 修饰全局变量

1.只能在本文件中访问,修改全局变量的作用域,生命周期不会改

2.避免重复定义全局变量

static const int age = 24;

extern:

只是用来获取全局变量(包括全局静态变量)的值,不能用于定义变量

  • extern工作原理:

先在当前文件查找有没有全局变量,没有找到,才会去其他文件查找

.m文件
NSString *const FirstNewUserCouponPopView = @"FirstNewUserCouponPopView";
.h文件
extern NSString *const _Nullable FirstNewUserCouponPopView;

相关文章

网友评论

      本文标题:static,const,extern

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