函数
一.函数定义与声明
1.函数定义的一般格式:
类型说明符 函数名(类型说明符 形参变量1,类型说明符2,...)
{
声名语句部分;
执行语句部分;
}
函数的定义需要函数头和函数体两部分。
2.1.函数头包括函数名,函数的类型及形式参数表。
2.2.函数体是函数头下面最外层一对花括号内的代码,它是由一系列语句构成的,用以实现函数的功能。
例:定义一个函数,用于求两个数中的大数

二.函数的参数和返回值
1.函数的参数分为形参和实参两种。
主调函数传递来的数据称为实际参数,简称实参。
定义函数时,函数名后的参数称为形式参数,简称形参。
实参和形参之间的关系如下:
(1)实参的个数,类型应该和形参的个数和类型一致。
(2)实参和形参分别属于主调函数和被调函数,具有不同的单元。
(3)C语言中实参和形参的结合采取的是"单向值传递"方式,只有实参传递参数给形参,形参不回传参数给形参。
2.普通值传递方式所传递的是参数值。
如:
Calculate(4,1000) /*常量作为函数参数*/
Calculate(5,x*y) /*表达式作为函数参数*/
Calculate(abs_sum(x,y),z) /*函数作为函数的参数*/
3.地址值传递。
地址值传递指的是调用是给出的实参是变量的地址值,此时函数参数(形参)应该是指针变量。
4.数组作为函数参数
数组用作函数参数有两种方式,一种是把数组元素(下表变量)作为函数的实参使用;另一种是把数组名作为函数的形参和实参使用。
5.函数的返回值
在函数定义时需要描述函数类型,但没有给出函数如何得到返回值。
得到函数返回值的方法是使用return语句。
return 语句使用的一般形式为:
return(表达式)
return语句应书写在函数体的算法实现部分,圆括号可以省略。
注意: 若调用函数中无return语句,并不是不返回一个值,而是一个不确定的值。为了明确表示不返回值,可以用"void"定义成"无(空)类型"。
一.函数定义与声明
1.函数定义的一般格式:
类型说明符 函数名(类型说明符 形参变量1,类型说明符2,...)
{
声名语句部分;
执行语句部分;
}
函数的定义需要函数头和函数体两部分。
2.1.函数头包括函数名,函数的类型及形式参数表。
2.2.函数体是函数头下面最外层一对花括号内的代码,它是由一系列语句构成的,用以实现函数的功能。
例:定义一个函数,用于求两个数中的大数
二.函数的参数和返回值
1.函数的参数分为形参和实参两种。
主调函数传递来的数据称为实际参数,简称实参。
定义函数时,函数名后的参数称为形式参数,简称形参。
实参和形参之间的关系如下:
(1)实参的个数,类型应该和形参的个数和类型一致。
(2)实参和形参分别属于主调函数和被调函数,具有不同的单元。
(3)C语言中实参和形参的结合采取的是"单向值传递"方式,只有实参传递参数给形参,形参不回传参数给形参。
2.普通值传递方式所传递的是参数值。
如:
Calculate(4,1000) /*常量作为函数参数*/
Calculate(5,x*y) /*表达式作为函数参数*/
Calculate(abs_sum(x,y),z) /*函数作为函数的参数*/
3.地址值传递。
地址值传递指的是调用是给出的实参是变量的地址值,此时函数参数(形参)应该是指针变量。
4.数组作为函数参数
数组用作函数参数有两种方式,一种是把数组元素(下表变量)作为函数的实参使用;另一种是把数组名作为函数的形参和实参使用。
5.函数的返回值
在函数定义时需要描述函数类型,但没有给出函数如何得到返回值。
得到函数返回值的方法是使用return语句。
return 语句使用的一般形式为:
return(表达式)
return语句应书写在函数体的算法实现部分,圆括号可以省略。
注意: 若调用函数中无return语句,并不是不返回一个值,而是一个不确定的值。为了明确表示不返回值,可以用"void"定义成"无(空)类型"。