您的位置:首页 > 其它

《MFC 笔记》 Part2 浅析extern的作用

2016-04-05 10:34 183 查看
《MFC 笔记》 Part2 浅析extern的作用

1、extern的使用

extern表示是外部函数外部变量,比如:

1、extern void add(int x,inty);表示该函数主体不在当前模块中,在另一个模块中(文件)

2、extern int total;表示该变量在另一个模块总定义过。

一般都把一些经常用到的枚举和变量之类的写在.h头文件中。这样要引用时直接include "头文件名"就可以了调用里面所有的枚举和变量了。在大型项目中,引用别的.c文件中的函数则只能用extern,因为.c文件是不能
include的。所以想引用别的.c文件中的函数和全局变量、枚举等等的就只能用extern。


2、extern 和static区别

extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。

static作为关键字和函数出现,在其他的高级计算机语言如FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、PROLOG、Ada等语言中也是有出现的,只是有着不同的作用。

区别在于:

1、全局变量是不显式用static修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern
全局变量名的声明,就可以使用全局变量;

2、全局静态变量是显式用static修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用extern声明也不能使用。

3、extern 外部变量声明,static
静态变量声明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: