告诉编译器这个变量或者函数的定义不在当前的代码中,等到连接时从别的地方找,如果找到了就可以正常编译,如果找不到就编译失败。
在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:
[extern] 函数类型 函数名(函数参数表)
{……}
调用外部函数时,需要对其进行说明:
[extern] 函数类型 函数名(参数类型表)[,函数名2(参数类型表2)……];
[案例]外部函数应用。
(1)文件mainf.c
main()
{ extern void input(…),process(…),output(…);
input(…); process(…); output(…);
}
extern
是变量或函数的申明,告诉编译器在其它文件中找这个变量或函数的定义。
在定义函数时,如果没有加关键字“static”,或冠以关键字“extern”,表示此函数是外部函数:[extern]nbsp;nbsp;函数类型nbsp;nbsp;函数名(函数
参数表
){……}调用外部函数时,需要对其进行说明:[extern]nbsp;nbsp;函数类型nbsp;nbsp;函数名(参数类型表)[,函数名2(参数类型表2)……];[案例]外部函数应用。(1)文件mainf.cmain(){nbsp;nbsp;externnbsp;voidnbsp;input(…),process(…),output(…);input(…);nbsp;nbsp;process(…);nbsp;nbsp;output(…);}(2)文件subf1.c……externnbsp;nbsp;voidnbsp;input(……)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/*定义外部函数*/{……}(3)文件subf2.c……externnbsp;nbsp;voidnbsp;process(……)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/*定义外部nbsp;函数*/{……}(4)文件subf3.c……externnbsp;voidnbsp;output(……)nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;/*定义外部函数*/{……}