首页 理论教育51单片机初级实战教程-函数调用

51单片机初级实战教程-函数调用

【摘要】:所谓的函数调用就是在一个函数体中引用另外一个已经定义的函数,前者为主调函数,后者为被调用函数。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值。因此在以后各主调函数中不用对ann和circle函数说明,可直接调用。

所谓的函数调用就是在一个函数体中引用另外一个已经定义的函数,前者为主调函数,后者为被调用函数。C语言中,函数调用一般形式如下:

函数名(实际参数表)

其中“函数名”为被调用的函数

“实际参数表”,即实参表是可以没有的,表示无参函数。实参表可以是任何类型的数据,可以是常量,变量及表达式。各参数之间用“,”分隔。实际参数的作用是将它的值传递给被调用函数中的形式参数。

C语言中采用三种方式完成函数调用分别为①函数语句调用②函数表达式调用③函数参数调用。

1.函数语句调用

主调函数中将函数调用作为一条语句,例如:

max();//无参调用,不要求被调函数返回确定数值。

2.函数表达式调用

主调函数中将函数调用作为一个运算对象直接出现在表达式中,例如:(www.chuimin.cn)

C=min(a,b);//赋值语句,把min返回值赋给变量C。

这种调用方法要求被调函数返回一个确定值。

3.函数参数调用

函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值。例如:

M=max(a,max(b,c));//max(b,c)是一次函数调用,返回值作为函数max调用的实参。M的值为变量a、b、c中的最大值。该段代码可以看到函数在调用过程中嵌套函数调用,既调用一个函数过程中又调用另一个函数。在函数调用过程中有几点注意事项:

①在函数定义之前,在主函数外部预先说明各个函数的类型,则不需要在后面的主调函数中再对其进行说明。例如:

通过对ann函数和circle函数预先说明。因此在以后各主调函数中不用对ann和circle函数说明,可直接调用。

②对系统库函数的使用或者不在同一文件中自定义函数,必须使用include命令,把函数相应的头文件包含到文本中。