函数的调用

函数assert

原型void  assert (scalar expression)

assert函数意义为中止,形参为输入逻辑或关系运算符,如果为假,则中止程序;为真,则继续执行(需要头文件#include <assert .h>)

C语言中所有函数传参都是值传递

函数的形参相当于实参的复制品,只是将值传递过去,并没有将实参的内存空间拷贝给形参,C语言会给形参单独设置内存空间。

c语言中默认的函数传参都是自右向左,不可能同时传参

验证:

函数的嵌套调用(本质上是函数的跳转)

函数跳转之后,为了使其能回到原来的地方,内存空间为其开辟了栈区

栈(栈区):专门用来保存函数中的形参和变量

入栈:先进后出,出栈:后进先出

除了栈区之外的具有保存功能的区域

函数允许嵌套使用,先调用函数需先返回,后调用函数需后返回

保护现场:保护调用的函数

恢复函数:函数回到原来的位置

函数的递归调用

即函数直接或间接调用自己本身

无条件直接调用本身函数,会导致栈区空间被用尽,导致系统崩溃

函数递归调用应用

求和:

汉诺塔

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值