c语言:函数及函数参数的简单介绍与用法浅析

c语言:函数及函数参数的简单介绍与用法浅析,第1张

c语言:函数及函数参数的简单介绍与用法浅析

上文我们讨论了指针函数的有关内容,本文我们将围绕函数与函数参数的内容进行简单介绍与浅析。

1.函数的概念

函数在我们之前的编程中已经出现过。例如主函数main(),输出(打印)函数printf()等,函数括号内的值就是函数的参数,若函数没有参数就不用为该函数提供函数值,例如getchar()。每个函数都是通过函数名进行调用,因此当我们在程序中使用一个函数时就叫做函数调用。
函数的使用可以大大提高我们程序的运行效率。c语言提供了很多库函数供我们使用,同时,我们也可以自己在程序中写我们需要的函数。函数有两个部分组成,分别是函数头和函数体。任何函数的功能都是函数体语句实现的。

2.函数的定义及其调用

函数定义的一般格式:

函数类型 函数名(形参变量表)
{
函数体
}

对于该定义格式的一些说明:
1.第一行是函数头,用于对函数进行属性描述。
2.第二行是函数体,包括了实现函数功能的语句。
函数体中我们要用“return t”语句返回函数值t。函数类型有两种情况,若有返回的函数值,函数类型就是函数值的数据类型;若函数不存在返回值,则函数类型应定义为void型。这适用于控制输入输出的函数。
3.形参变量表就是用逗号分隔的一组变量说明,表明了每个形参变量的数据类型与名称。这一部分可类比参考数据的声明。当函数调用时,形参变量接受主调函数的数据。这部分可类比printf()或scanf()括号内的参数,只是需要增加对数据类型的说明。
形参变量表的格式:

数据类型1 形参1,数据类型2 形参2,数据类型n,形参n

如果函数不需要参数,那么形参变量表需要用void填充。即使可为空,()也不能省略。

这部分理解起来可能有些困难,接下来我们用一个函数实例来理解形参变量表。

定义一个能输出n个apple和m个pear的函数。
函数的定义如下:

#include
//由于我们的函数不需要返回值,所以用void定义
void good(int n,int m)
{
int i;
for(i=1;i<=n;i++)
{
printf("apple");
}
for(i=1;i<=m;i++)
{
printf("pear");
}
}
//然后我们就可以在主函数中调用我们的good函数了
int main()
{
good(8,9);
}

这样我们就可以得到8apple和9个pear了!
如果我们定义了一个有返回值的函数,那么我们要在函数体最后使用return语句把函数值返回到调用该函数的位置。若存在多个return语句,那么将会返回函数遇到的第一个语句并结束该函数的调用。

3.函数的嵌套与递归函数

函数的嵌套非常容易理解,即函数a中调用了函数b,函数b中又调用了函数c等,这里就不在赘述。
递归函数是由于递归定义产生的。即一个函数在定义中直接或间接的调用了被定义函数它本身,就称它为递归函数。递归函数可以使程序更加的简洁,但是只有能使用递归方式描述的问题才能使用递归函数实现。
递归函数可分为公式递归与非公式递归,这部分内容比较复杂,我们之后再讨论。

有关函数参数的传递、数组与函数、指针作函数参数等内容,我们之后再分别独立进行讨论。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5433104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存