您的位置:首页 > 移动开发 > IOS开发

iOS 拾遗 static 和 extern 使用

2016-07-23 00:00 453 查看
摘要: static 和 extern 使用

static作用:

1、修饰局部变量:

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

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

改变局部变量的作用域。

如:

- (void)test
{
// static修饰局部变量
static int age = 0;
age++;
NSLog(@"%d",age);
}

如果连续调用两次test,会发现age打印结果如下图所示,age值初始化了一次,并且声明周期被延长了。



2、修饰全局变量

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

避免重复定义全局变量

extern作用:

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

extern工作原理:

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

例如我们在该文件定义了一个全局变量:

// static修饰全局变量
static int age = 20;

我们使用它时,需要用extern int age; 打印结果如下,它会自动为我们寻找全局变量age,而非test中的age。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS static extern