在主调函数中调用某函数之前,应对该被调函数进行说明 (声明),这与使用变量之前要先进行变量说明是一样的。在主调函数中对被调函数做说明的目的是使编译系统知道被调函数返回值的类型,以便在主调函数中按此类型对返回值做相应的处理。
其一般形式为
类型说明符被调函数名(类型形参,类型形参,…);
或为
类型说明符被调函数名(类型,类型,…);
括号内给出形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以防止可能出现的错误。
【例8.1】main函数中对max函数的说明为:
intmax(inta,intb);
或为
intmax(int,int);
C语言中又规定在以下几种情况下可以省去主调函数中对被调函数的函数说明。
①如果被调函数的返回值是整型或字符型时,可以不对被调函数做说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。例8.2的主函数中未对函数s做说明而直接调用即属此种情形。
②当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数再做说明而直接调用。例如,例8.1中,函数max的定义放在main函数之前,因此可在main函数中省去对max函数的函数说明intmax(inta,intb)。
③如在所有函数定义之前,在函数外预先说明了各个函数的类型,则在以后的各主调函数中可不再对被调函数做说明。例如:
charstr(inta);
floatf(floatb);
main()
{
…
}
charstr(inta)
{
…
}
floatf(floatb)
{
…
}
其中第一、二行对str函数和f函数预先做了说明,因此,在以后的各函数中无须对str和f函数再做说明就可直接调用。
④对库函数的调用不需要再做说明,但必须把该函数的头文件用include命令包含在源文件前部。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。