关键字声明extern
2016-02-26 10:08
253 查看
都在函数外,全局声明时:
1,extern int a; 仅声明,而没有定义a, 还没为a分配存储空间
2,extern int a = 0; 错误, 此时不要定义. 用G++ 编译不会报错,但是不能编译出来的文件不能执行.
具体用法:
在头文件中仅 声明: 如// test.h
#include <iostream>
extern int i;
void fun();
在源文件中还要全局定义!
//test.cpp
#include "test.h"
int i;
void fun(){
printf("in fun() : %d \n",i);
i = 100;
printf("in fun() : %d \n",i);
}
然后在其它文件中要调用该变量时,直接用就行了,不必定义
//main.cpp
#include <iostream>
#include "test.h"
using namespace std;
int main(){
fun();
i = 3;
printf("in main() : %d\n",i) ;
fun();
return 0;
}
1,extern int a; 仅声明,而没有定义a, 还没为a分配存储空间
2,extern int a = 0; 错误, 此时不要定义. 用G++ 编译不会报错,但是不能编译出来的文件不能执行.
具体用法:
在头文件中仅 声明: 如// test.h
#include <iostream>
extern int i;
void fun();
在源文件中还要全局定义!
//test.cpp
#include "test.h"
int i;
void fun(){
printf("in fun() : %d \n",i);
i = 100;
printf("in fun() : %d \n",i);
}
然后在其它文件中要调用该变量时,直接用就行了,不必定义
//main.cpp
#include <iostream>
#include "test.h"
using namespace std;
int main(){
fun();
i = 3;
printf("in main() : %d\n",i) ;
fun();
return 0;
}
相关文章推荐
- HDOJ1874最短路【spfa】
- nodeJS一些事儿
- OTP【转】
- redis 超全的操作
- mysql汉字转拼音
- 关于 eclipse启动卡死的问题处理
- 2.通过iOS客户端访问我们搭建的api
- 文本挖掘--LTP-cloud 分词
- java设计模式——单例模式
- oracle 建立一个视图,然后授权其他用户访问
- 行块级元素(并去除中间间隙)
- windows server 2003系统下安装AndroidStudio失败
- JQuery和JS操作LocalStorage/SessionStorage的方法
- PHP---验证码实现
- 怎样利用putty登陆SSH主机方法
- hadoop 执行的时候查看log 出现 bad state: BETWEEN_LOG_SEGMENTS
- 消除“Permission is only granted to system apps”错误
- URLRewrite 实现方法详解
- 动态计算UITableViewCell高度详解
- 关于java的序列化及反序列化