首页 理论教育函数调用:C语言程序设计

函数调用:C语言程序设计

【摘要】:在C语言中,以函数首部声明函数的形式称为函数原型。使用函数原型是C语言的一个重要特征,主要作用是利用它在程序的编译阶段对调用函数的合法性进行全面检查。

1.函数调用形式

函数调用的一般形式为:

函数名(实参列表);

如果是调用无参函数,则“实参列表”可以省略,但括号一定不能省略。如果“实参列表”包含多个参数,则各参数间用逗号隔开,实参与形参按顺序一一对应,实参与形参的个数相等,类型一致。

2.函数调用的方式

按函数在程序中出现的位置来分,函数的调用方式大致有如下三种:

(1)函数语句。此时把函数调用作为一个语句,不要求函数带回返回值,只要求函数完成一定的操作。例如:

print_message();

(2)函数表达式。此时函数出现在一个表达式中,要求函数带回一个确定的返回值以参加表达式运算。例如:

y=square(x);

(3)函数参数。此时,函数调用作为另一个函数的实参。例如:

litter=min(x,min(y,z));(www.chuimin.cn)

其中min(y,z)是一次函数调用,它的值作为函数min()另一次调用的实参。

3.对被调用函数的声明和函数原型

在一个函数中调用另一个函数(即被调用函数)需要具备如下条件:

(1)首先被调用的函数必须是已经存在的函数(库函数或用户自定义的函数)。

(2)如果是调用库函数,一般还应该在程序开头用#include命令将所需用到的信息“包含”到本文件中。

(3)如果使用用户自己定义的函数,则最好是在主函数中对被调用函数进行声明,即向编译系统声明将要调用此函数,并将相关信息通知编译系统(如例5.2中以函数原型声明power()函数)。

(4)函数的“声明”与函数的“定义”不是一回事。函数的“定义”是指对函数功能的确立,包括指定函数名、函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。而函数的“声明”则是将函数的名字、函数类型、形参的类型及个数、顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(如函数名是否正确、实参和形参类型及个数是否一致)。从形式上看,函数的声明与函数定义中的第1行(函数首部)基本相同,所以在函数声明时,可以将函数定义的首部照写一遍再加一个分号即可。

在C语言中,以函数首部声明函数的形式称为函数原型。使用函数原型是C语言的一个重要特征,主要作用是利用它在程序的编译阶段对调用函数的合法性进行全面检查。函数原型的一般形式为:

①函数类型 函数名(参数类型1,参数类型2……)

②函数类型 函数名(参数类型1参数名1,参数类型2参数名2……)

第①种形式是基本形式,为了便于阅读程序,也允许在函数原型中增加参数名,也就是第②种形式。但是,编译系统不检查参数名,因此参数名加与不加都不太重要。