一文说尽函数【在补充】

函数模板及意义

函数意义

函数是用于定义代码功能块的,若是有一段代码改变相应参数后会在整个程序中重复使用,但是在使用时进行不断重复书写十分耗费时间,可以考虑定义函数,使用函数解决。

函数声明模板

函数返回值类型  函数名称(形式参数列表) ;

函数定义模板

函数返回值类型  函数名称(形式参数列表) {
    功能代码
}

eg

int max(int a, int b) {//函数头
	return a > b ? a : b;//功能代码【定义中除去花括号及其中间内容的部分之外的内容叫做函数头】
}

什么时候该声明函数,什么时候可以不用声明函数

这与函数调用和函数定义的相对位置有关。【函数的使用叫做调用】
若是函数调用在定义之前,则需要在调用前进行一次函数的声明,在函数声明的作用域内可以随意调用函数。【作用域在下面讲】
若是函数调用在函数定义之后,则不需要进行函数的声明,可直接调用

形式参数与实际参数

在函数声明或定义时的函数头中的括号内部的参数叫做形式参数,简称形参,是用于存储参数值的变量
在调用中括号中写入的参数叫实参,是用户期望向函数中传入的数据。

函数声明与定义区别

声明其实就是写出了定义的函数头【定义中除去花括号及其中间内容的部分之外的内容叫做函数头】
不过注意,在定义时,形参列表的形参必须写出形参名称,因为在功能定义中会使用到相应的参数。
但是在函数的声明时可以只用过写出参数类型,不用写出参数名称【写上也行】。因为声明只是相当于告诉编译器,你有这个函数,函数的返回值类型以及参数的个数及类型,编译器对于形参名称此时是不关注的。
若是声明时写形参名称,可与定义时写的不同,个数及类型对应上就可。

函数的调用

其实之前第一个程序写的printf就是一个在库中已经定义好了的函数,在调用它的时候,括号中的字符串,其实就是实参。

调用模板

函数名称(实参列表);

递归

所谓递归其实就是一个函数自己调用了自己。
原本是会进行无止尽的自我调用的,但是可以使用if判断以及return语句 对递归层数进行限制。
所以递归其实是有着模板的

函数返回值类型 函数名称(参数列表){
	if(结束条件) return 返回数值;
	功能模块
	自身调用
	功能模块
}

在刚刚开始学习递归过程中,应该将自己严格当做一个编译器,去一句一句执行功能。否则无法迅速领悟递归要点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值