全局变量,extern,static
来源:互联网 发布:全国农产品价格数据库 编辑:程序博客网 时间:2024/05/05 05:16
1. extern
声明函数或全局变量的作用范围的关键字,其声明的函数和变量可以在本模块/其他模块中使用。注意:它是一个声明不是定义 ! 全局变量的定义和声明一般情况下最好分开。
默认情况下全局变量只能在定义它的文件中使用,但如果在另一个文件中将这个变量声明为外部变量,那么这个变量的作用域将被扩展到另外一个文件中。
extern常用方法:
1)在cpp文件中定义全局变量(函数外部);
2)在对应的h文件中,声明外部变量extern。
在需要用到这个全局变量的地方,include”**.h”即可
2. static
1)可以修饰:局部变量,全局变量。
静态全局变量:作用域:在声明它的整个文件都是可见的,而在文件之外是不可见的。
静态局部变量:它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
2)static变量的定义和声明是一起的,如果没有初始化,自动初始化为0;
3)extern和static不能同时修饰一个变量;
全局变量和全局静态变量的区别
1)全局变量:默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。
2)全局静态变量:作用域是声明此变量所在的文件,其他的文件即使用extern声明也不能使用。
参考文献:
http://blog.csdn.net/c4501srsy/article/details/7751315
http://baike.baidu.com/link?url=KpqVJcVCLBE5Awvo1MC6lzl1cZMel22ks1YCFfq0C96i-9N6SOYXtI7TjAzi1k1PZOApPKZbaLoeSfZsw3onvK
- 全局变量,extern,static
- 全局变量,静态变量,extern,static
- 全局变量/extern/static/const区别
- static和extern修改全局变量
- static & extern 全局变量 局部变量...
- static和extern修饰全局变量
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- extern,static和全局变量的区别
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- 全局变量,编译的一些概念:extern static
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系
- java 抽象X的 学习
- IatHook
- JSON-RPC轻量级远程调用协议介绍及使用
- (C语言)自写通讯录
- poj 1182 并查集 食物链类
- 全局变量,extern,static
- 黑马程序员java学习笔记——String字符串及StringBubuffer容器
- Android自定义View浅学习
- 包装过的异常--InvocationTargetException
- [leetcode] Merge Two Sorted Lists
- 南阳673 悟空的难题
- Java系列之JNDI
- Verilog中parameter和define的区别
- Ubuntu samba服务器配置