函数

1.函数的定义与声明

1.函数头

包括函数名、函数的类型及形式参数表。

(1)函数名。用标识符表示,用来标识一个函数的名字,函数名后面必须有一对圆括号。

(2)函数类型。函数名前的函数类型是指函数返回值的类型。如果函数是整型,int可以省略不写;如果函数无返回值,以void型。

(3)形式参数表。圆括号内为形式参数列表部分,其中的参数称为形式参数,他包括函数的自变量部分。每个参数前都应用相应的类型标识符对参数进行说明,有多个参数时用逗号分开。如果是无参数函数,形式参数列表部分为空,但一对()不能省略。

2.函数体

函数体是函数头下面最外层一对花括号内的代码,他是由一系列语句构成的,用以实现函数的功能,函数体内可以有函数说明、变量说明及可执行语句。

函数体也可以是一对空的话括号,例如:

viod function(void)

{

}

这是一个“空函数”,调用它并不产生有效的操作,但却是一个符合C语言语法的合法函数。

3.函数的声明

(1)标准库函数的说明。可在程序开头部分用#include进行文件包含,printf()和sqrt()等函数就属于这种形式。用在程序开头部分用下面的语句进行包含。

#include<stdio.h>

#include<math.h>

(2)自定义函数的说明。如函数与主调函数在同一程序文件中,在调用前如下语句进行说明:

类型说明符 函数名(类型说明符 形参变量1,类型说明符 形参变量2,...);

     函数声明按其位置不同,作用范围也不同。

(1)在所有函数外部进行说明。

(2)在函数内部进行说明。

2.函数的参数与返回值

1.函数的参数

主调函数传递来的数据称为实际参数(实参);

定义函数是,函数名后面的参数称为形式参数(形参);

2.普通值传递

调用函数时,将实参的值计算出来传递给对应的形参。实参可以是常量或表达式,也可以是函数调用语句,如:

Calculate(4,1000)     常量作为函数参数

Calculate(5,x*y)    表达式作为函数参数

Calculate(abs_sum(x,y),z)   函数作为函数的参数

3.地址值传递

在调用时给出的实参是变量的地址值,此时函数参数(形参)应该是指针变量。

voidswap(int * m,int * n);

main()

{

int a,b;

swap(&a,&b);

}

4.数组作为函数参数

数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为函数的实参使用;另一种是把数组名作为函数的形参和实参使用。

5.函数的返回值

得到函数返回值的方法是使用return语句。一般形式为:

return(表达式)

完成以下功能:返回一个值给主调函数;释放在函数的执行过程中分配的所有内存空间;结束被调函数的运行,将流程控制权交给主调函数。

3.函数的调用

1.函数的声明

在进行函数调用之前首先要对函数进行声明,在进行C程序函数开发与使用的过程中要始终牢记“先声明,后使用”的原则。对被调用函数的声明有两种方式:外部声明和内部声明。

被调函数的声明具体形式为:

函数类型 函数名();

main函数是主函数,它可以调用其他函数,而不允许被其他函数调用。

2.函数的调用

函数调用是通过函数调用语句来实现的。

c语言中,函数调用的一般形式为:

函数名([实际参数列表])                          实际参数列表是函数入口参数的实际值。

(1)函数表达式。函数作为表达式的一项,出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。

c=add(a+b);

(2)函数语句。c语言中的函数可以只进行某操作而不返回函数值,这时的函数调用可以作为一条独立的语句。

function();

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

d=add(a,add(b,c));

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值