函数定义与声明
调用函数必须遵守“定义在前,使用在后”的原则。
函数格式:
类型说明符 函数名(类型说明符 形参变量1,类型说明符 形参变量1,。。。)
{
声明语句部分;
执行语句部分;
}
函数定义两部分
1.函数头
(1)函数名。用标识符表示,用来标识一个函数的名字,函数名后面必须加一对有圆括号。
(2)函数类型。函数名前的函数类型是指函数返回值的类型。如果函数是整型,int可以省略不写;如果函数无返回值,以void类型明示。
(3)形式参数表。圆括号内为形式参数列表部分,其中的参数称为形式参数,它包括函数的自变量部分。
2、函数体
函数体是函数头下面最外层一对花括号内的代码,它是由一些列语句构成的,用以实现函数功能,函数体内可以有函数说明、变量说明及可执行语句。
函数的参数与返回值
1、函数的参数
函数的参数分为形参和实参,作用实现数据传递。
(1)、实参个数、类型应该和形参的个数和类型一致。调用函数时,系统给形参分配存储单元,并且把实参的数值传递给形参。
(2)形参和实参分别属于主调有函数和被调用函数,具有不同的内存单元。所以。在函数调用时形参发生改变,不会影响到实参。
2、函数参数的传递方式
(1)普通值传递
普通值传递方式所传递的是参数值。调用函数值时,将实参的值计算出来传递给对应形参。
(2)地址值传递
地址值传递值指的是调用时给出的实参是变量的地址值,此时函数(形参)应该是指针变量。
3、函数返回值
在函数定义是需要描述函数类型,但没有给出函数如何得到返回值。调用函数时,要求被调用函数返回数据给主调函数,返回的数据称为函数返回值。
函数的调用
1、函数的一般调用形式
(1)、函数的声明
函数进行使用时必须要对函数进行声明,声明有两种方式:外部声明和内部声明。
main函数是主函数,他可以调用其他函数。而不允许被其他函数调用。
(2)、函数的调用
在程序中,是对函数的的调用来执行函数体,其过程与其他语言的子程序调用相似。当函数被调用是,函数对应的程序代码才开始执行,才能实现相对应的函数功能。
c语言中,函数调用的一般形式为:
函数名([实际参数列表]) 实际参数列表是函数入口参数的实际值。
(1)函数表达式。函数作为表达式的一项,出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。
c=add(a+b);
(2)函数语句。c语言中的函数可以只进行某操作而不返回函数值,这时的函数调用可以作为一条独立的语句。
function();
(3)函数实参。函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。
d=add(a,add(b,c));