函数的参数和返回值
上一节
下一节
一、形式参数和实际参数
在定义函数时,函数首部的参数称为形式参数,简称为形参。形参在该函数未被调用之前是没有确定取值的,只是形式上的参数。
当调用函数时,在主调函数的调用语句中的参数称为实际参数,简称为实参。实参可以是变量、常量或表达式,实参有确定的取值,是实实在在的参数。
定义函数时形参不占内存,只有发生调用时,形参才被分配内存单元,接受实参传来的数据。
定义函数时,必须定义形参的类型。
形参与实参要求在个数上相等,并且对应的形参和实参的类型也要相同。
形参和实参可以同名,形参是所在函数内部的变量。即使形参和实参同名,也是两个不同的变量,占用不同的内存单元。
二、参数的传递
C语言中函数参数的传递方式是单向值传递。
函数参数的值传递方式是将实参的值传递给形参,形参变量另外申请一段内存空间。
实参和形参分别占用不同的内存空间,因此改变形参变量的值不会影响实参变量。

(1)在swap()函数中,虽然形参x和y交换了,但是返回main()后,实参a和b的值没有改变。
(2)实参可以是变量、常量或表达式。
三、函数的返回值
如果需要返回调用函数的值,则需要使用return语句。
return 语句的格式为 return 表达式;
return后面的表达式的值就是函数的返回值。
一个函数中可以包含多个return语句,执行哪一个return语句就由哪一个return语句带回返回值。
如果函数类型为void,则表示函数没有返回值。此时函数的return语句不带任何返回值,函数中也可以没有return语句。

