const, static, extern用法, 实际项目中用法

const

1.const只修饰自己右边的变量. 2.被const修饰的变量是只读的,不可更改. 注:这就是为什么推荐使用const来替代宏定义,宏定义不会报错,并且是可变的

static

说明: static修饰的变量只会分配一份内存

作用:
修饰局部变量

1.延长变量的生命周期,程序结束才会销毁 2.在同一作用域或文件中,只被初始化一次, 3.改变变量的作用域

修饰全局变量

1.只要在同一个文件中,变量的生命周期不会改变,也就是指针所指向的地址不会改变 2.避免重复定义全局变量: static限制了变量的作用域为当前文件, 其他文件可以定义一个相同的static变量, 如果没有static修饰, 在其他文件中定义了相同名称的全局变量, 会报错.

extern

作用:

extern的作用:声明一个全局变量,不能定义变量 extern的原理:现在当前文件中查找全局变量,如果没有,再去其他文件中查找

##extern和const的组合使用

有的时候需要公开常量,就像你的女朋友需要知道今天你花了多少钱,但是你花钱的多少他是不会干涉的,所以这个时候你只需要给外界暴露出一个常量

@interface ViewController : UIViewController
//只给外界暴露出一个制只读变量money
extern NSString *const money;
@end
复制代码
#import "ViewController.h"
NSString *const money = @"100元";
复制代码

这样就可以外界读取到,但是不能改变

转载于:https://juejin.im/post/5ac9e927f265da239612a9c4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值