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

2018-04-08  本文已影响8人  大城子

const

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

static

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

作用:

修饰局部变量

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

修饰全局变量

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元";

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

上一篇 下一篇

猜你喜欢

热点阅读