关于extern的用法

extern表示该变量或者函数时在另一个地方定义了。

在C++编程中,如果将程序分为多个文件,则需要有在文件间共享代码的方法,这时如果一个变量或者函数需要在多个文件中使用,则可以使用extern来声明该变量或者函数。声明(declaration)使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明,而定义(definition)负责创建与名字关联的实体。变量声明规定了变量的类型和名字,在这一点和定义与之相同。但是除此之外,定义还申请了存储空间,也可能会为变量赋一个初始值。

extern int i;//仅仅是声明了整型变量i

int i;//声明并且定义了整型变量i

extern int i = 0;//定义了整型变量i,并且赋值为0,等价于int i = 0;

:在函数内部,如果试图初始化一个由extern关键字标记的变量,将引发错误。

一般使用extern的过程如下:

这里如果我们需要在a.cpp中使用b.cpp中定义的变量i,则可以按如下操作:

1.在b.cpp中给出该变量的定义, int i;

2.在b.h中对该变量进行声明,在变量前加extern int i;

3.在a.cpp中声明该变量,extern int i;

这时如果我们再a.cpp中对该变量赋值为123,那么在b.cpp中可以得到该变量等于123.

对于extern的用法,具体还是要看实际中需要该变量做什么,这里只是对extern做了简单的介绍。

posted on 2015-10-19 17:22  !!-阳光-!!  阅读(989)  评论(0编辑  收藏  举报

导航