您的位置:首页 > 其它

关键字声明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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: