函数的定义
C语言中函数定义的一般形式为:
类型名 函数名(形参类型说明表) /*函数首部*/
{ /*函数体*/
说明语句
执行语句
}
其中函数名必须是一个合法的标识符,且不能与其他函数或者变量重名;
类型名指定函数返回值的类型,无返回值的类型应指定为void空类型。
函数的参数
函数的参数分为形式参数(简称形参)和实际参数(简称实参)。形参是函数名括号中说明的变量称为形式参数;实参是后面调用函数时在被调用处所给出的对应的参数。如
main()
{
int a=3,b=5;
swap(a,b);
printf("a=%d,b=%d",a,b);
}
swap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
该程序运行结果为a=3,b=5.
函数的返回值
函数的返回值是指函数被调用、执行完后返回给主调函数的值,其一般表达式为
return 表达式;
功能:将表达式的值带回给主调函数。
函数内可有多条返回语句,但每条语句的返回值只能有一个。如
int max(int x,int y)
{
if(x>y) return x;
else return y;
}
返回值的类型为函数的类型,如果函数的类型和return中表达式的类型不一致,以函数类型为准,先将表达式的值转换成函数类型后,再返回。
函数的调用
函数调用的一般形式为
函数名 (实参列表);
如
max(a,b);
不管是什么类型的实参,在调用函数时必须有确定的值,且应和形参在类型、顺序上一一对应。对于无参函数,调用时实参列表为空,但()不可省略。
函数声明与函数原型
主函数调用某函数之前对被调函数进行的说明称为函数声明,其类型有
#include"头文件名.h"
和
int sth(int x,int y);
需注意:函数声明和函数定义是两种不同的概念。函数定义指的是对函数完整功能的确定,包括函数首部(函数名、函数类型、形参、形参类型)、函数体等的指定。函数声明是将函数首部各部分通知编译系统,以便进行调用。函数声明是用函数定义的首部加分号组成。
函数原型:
函数类型 函数名(参数类型1,参数类型2…);
或
函数类型 函数名(参数类型1 参数名1,参数类型2 参数名2…);
在进行函数声明时应保证函数原型与函数首部写法上一致,即函数类型、函数名、参数类型、参数个数等一一对应。