函数说明的形式
在C语言中,除了主函数外,对于用户定义的函数遵循“先定义,后使用”的规则。凡是未在调用前定义的函数,C编译程序都默认函数的返回值为int类型。对于返回值为其他类型的函数,若把函数的定义放在调用之后,应该在调用之前对函数进行说明(或称为函数原型说明),函数说明的一般形式如下:
类型名函数名(参数类型1,参数类型2,……)
如double add(double,double)。也可采用下面的形式:
类型名函数名(参数类型1 参数名1,参数类型2 参数名2,……)
如double add(double p, double q)。此处的参数名完全是虚设的,它们可以是任意的用户标识符,既不必与函数首部中的形参名一致,又可以与程序中的任意用户标识符同名,实际上,参数名可以省略。函数说明语句中的类型名必须与函数返回值的类型一致。
函数说明可以是一条独立的说明语句,如:
double add(double,double);
也可以与普通变量一起出现在同一个类型定义语句中,如:
double x,y,add(double,double);
对函数进行说明能使C语言的编译程序在编译时进行有效的类型检查。当调用函数时,若实参的类型与形参的类型不能赋值兼容而进行非法转换时,C编译程序将会发现错误并报错;当实参的个数与形参的个数不同时,编译程序也将报错。使用函数说明能及时通知程序员出错的位置,从而保证了程序能正确运行。