iOS 拾遗 static 和 extern 使用
2016-07-23 00:00
453 查看
摘要: static 和 extern 使用
局部变量只会生成一份内存,只会初始化一次。
改变局部变量的作用域。
如:
如果连续调用两次test,会发现age打印结果如下图所示,age值初始化了一次,并且声明周期被延长了。
避免重复定义全局变量
例如我们在该文件定义了一个全局变量:
我们使用它时,需要用extern int age; 打印结果如下,它会自动为我们寻找全局变量age,而非test中的age。
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。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 理解C#编程中的静态类和静态成员以及密封类
- C++中的extern “C”用法详解
- C++中extern "C"的用法
- C语言中static的作用及C语言中使用静态函数有何好处
- 从汇编看c++中函数里面的static关键字的使用说明
- C++的static关键字及变量存储位置总结
- 实例详解C/C++中extern关键字
- PHP中new static() 和 new self() 的区别介绍
- C#静态static的用法实例分析
- static关键字的作用详解
- 浅谈C/C++中的static与extern关键字的使用详解
- C语言基础知识点解析(extern,static,typedef,const)