关键字extern的作用与相关例子
2015-09-16 13:52
204 查看
例子一
// 如果想声明一个变量而非定义它,就在变量名前添加关键字extern, 而且不要显示地初始化变量:
extern int i ; // 声明i 而非定义i
int j; // 声明并定义j
//任何包含了显示初始化的声明都是定义。我们给由关键字extern 标记的变量赋一个初始值,但是这么做也就抵消了extern的作用。extern语句如果包含初始值就不再是 声 明,而变成定义了:
extern double pi = 3.1416; //定义
例子二
//在一个文件里定义const,而在其他很多的文件中声明就使用它,对于const的变量不管是声明还是定义都添加extern关键字,这样只需要定义一次就可以了:
// file_1.cc定义并初始化了一个常量,该常量能被其他的文件访问
extern const int bufSize = fcn();
// file_1.h头文件
extern const int bufSize ;
// 与 file_1.cc中定义的bufSize是同一个
//file_1.cc定义并初始化了bufSize,以为这条语句包含了初始值所以是一次定义。
// file_1.h头文件中的声明也由extern 做了限定,其作用是指明bufSize并非本文件所独有,它的定义将在别处出现。
// 如果想声明一个变量而非定义它,就在变量名前添加关键字extern, 而且不要显示地初始化变量:
extern int i ; // 声明i 而非定义i
int j; // 声明并定义j
//任何包含了显示初始化的声明都是定义。我们给由关键字extern 标记的变量赋一个初始值,但是这么做也就抵消了extern的作用。extern语句如果包含初始值就不再是 声 明,而变成定义了:
extern double pi = 3.1416; //定义
例子二
//在一个文件里定义const,而在其他很多的文件中声明就使用它,对于const的变量不管是声明还是定义都添加extern关键字,这样只需要定义一次就可以了:
// file_1.cc定义并初始化了一个常量,该常量能被其他的文件访问
extern const int bufSize = fcn();
// file_1.h头文件
extern const int bufSize ;
// 与 file_1.cc中定义的bufSize是同一个
//file_1.cc定义并初始化了bufSize,以为这条语句包含了初始值所以是一次定义。
// file_1.h头文件中的声明也由extern 做了限定,其作用是指明bufSize并非本文件所独有,它的定义将在别处出现。
相关文章推荐
- iOS 判断一断代码的执行时间(从网上看的,自己实现一下)
- iOS nonatomic,atomic效率测试—(yaoyao)
- sizeof()的用法
- 查看mysql版本的四种方法
- SQL语句大全
- 常用正则表达式(持续更新)
- [转]Android Matrix利用invert实现逆向坐标映射
- iOS BLOCK回调:(妖妖随笔)
- HTTP协议详解
- 安装android studio报错Failed to install Intel HAXM
- Eclipse配置 JOnAS服务器
- 反射机制
- iOS开发 创建自己的UserAgent
- OPEN TSDB - 基于时间的数据库
- IOS的LaunchImage和AppICon的尺寸
- CSS中!improtant的使用
- 轻松自动化---selenium-webdriver(python) (六)
- Xcode快捷键
- autocad application 版本
- java中路径问题的总结