全局函数就可以被另一个文件中的程序调用,声明函数时不管写没写extern都默认为全局函数吗

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:36:47
那么怎么声明一个变量可以让其他文件使用呢

一般是把定义放在.h里面,比如a.h。需要定义:
extern int m;
然后a.cpp里面也声明一下
int m;
然后main.cpp里面
include "a.h"

你说的全局函数指的是外部函数吧,如果一个函数要被其他文件中函数使用,定义时加extern关键字,在没有加extern和static关键字时,一般有的编译器会默认是extern类型的,因此你在其他函数里调用也可以使用。
但是有些编译器以及在一些大型项目里,使用时一般的会将函数的定义放在源文件中不加extern,而将函数的声明放在头文件中,并且显示的声明成extern类型,使用此函数的源文件包含此头文件即可。

全局变量的使用
变量在某一个源文件中声明后,如果在其他源文件中使用,需要在此源文件中加extern关键字重新声明一下。通常做法是这样的,在某源文件中不加extern定义及初始化此变量,用extern显示声明此变量放到头文件中,其他源文件要使用时包含此头文件。

函数要被其他文件调用的时候,必须在要事先声明:1.声明在xxx.h文件中,加extern来说明,其他文件要调用函数的时候,在此文件中include xxx.h,这样就可以使用了;2.也可以不在xxx.h中 extern,直接在调用的文件中extern void xx()。

也就是说全局函数在给其他文件调用的时候,必须要声明(extern),不声明是不能用的,或者不声明的函数不是全局函数。

extern x;