|
|
在网上看了很多关于extern的介绍,但发觉我是越看越糊涂了.
所以想上来请教一下大家的看法.
根据网上的分析:extern是用于声明变量或函数在其他文件上定义了,是一个全局变量或函数.
我按照这个说法,我写了这样的程序:
//t.h 用于声明a数组
char a[100] ;
//EOF
//test.cpp 源程序
#include <stdio.h>
#include "t.h"
extern char a[];
int main(void)
{
printf("%d\n", sizeof(a));
return 0;
}
//EOF
我发觉extern char a[];可有可无,但#include "t.h"必须有,我原本以为既然用了extern char a[];那就告诉了编译器a数组的声明在别的文件里,那它就会到别的文件去找,原来是我想错了.既然这个extern不能这样,那我们用到在别的文件里定义的全局变量直接用#include 那个文件上去不就行了吗? extern关键字的用途是什么呢? 怎么用呢?
|
|