- 在多文件程序中,如果希望函数的作用域只限于所在源程序文件,即该函数只能被所在源程序文件的其他函数调用,则称为内部函数,在定义内部函数时函数首部须加上关键字static;
- 如果希望将函数的作用域扩展到其他源程序文件,则称为外部函数,在引用该外部函数的源程序文件中用关键字extern声明外部函数。
- 在定义外部函数时,在函数首部前面加上关键字extern,缺省extern则默认为外部函数。
- 在需要调用外部函数的源程序文件中,用关键字extern声明该外部函数。
例子:利用外部函数求两个整数中较大值与较小值的差。
想法:设函数Max求两个整数的较大值,函数Min求两个整数的较小值,主函数调用函数Max和Min求得整数x和y中的较大值max和较小值min,则max-min即为所求。可以将程序分解为3个源文件,其中,源文件func1.cpp完成求两个整数的较大值,源文件func2.cpp完成求两个整数的较小值,程序如下:
/* func1.cpp */ 源程序文件
extern int Max(int x, int y)
{
if (x >= y)
return x;
else
return y;
}
/* func 2.cpp */ 源程序文件
extern int Min(int x, int y)
{
if (x <= y)
return x;
else
return y;
}
主函数源程序文件
#include <stdio.h>
extern int Max(int x, int y);
extern int Min(int x, int y);
int main( )
{
int x, y, max, min ;
printf("请输入两个整数:");
scanf("%d%d", &x, &y);
max = Max(x, y);
min = Min(x, y) ;
printf("最大值与最小值的差是:%d\n", max - min);
return 0 ;
}
原文地址:https://www.cnblogs.com/hello-dummy/p/9164687.html