嵌入式学习笔记(day12)

(1)递归:
   从本质上来说,其实就是循环
总结:
   递归的思路 
   第n项 取决第n-1项的问题解决
   问题n的解决,需要问题n-1的解决,往前推,直到,有一个明确的结果

栈:
  1. 是一种数据结构 FILO (First In Last Out)
  2. 内存上的一块空间 
  3. 大小肯定是有限的
  4. 可以存放函数调用数据 
  5. 局部变量(自动变量)  
    自动申请,自动释放 

堆:
 1. 空间很大
 2. 手动申请,手动释放

汉诺塔:
递归的思路

1. 将n-1格盘子, 从 A 起始柱 移动 B 辅助柱子
2. 将第n格盘子,从A移动到C
3. 再将n-1盘子,从B 移动到 C

代码实现

(2)数组作为函数参数 

//情况1
数组元素作为函数参数 
注意:
  数组元素的类型 是否 与形参类型一致 

//情况2
想把整个数组传入到函数中 

//形参 和 实参 规则
1.个数相同
2.类型匹配 
3.一一对应

数组名 能代表 整个数组 

注意:
  1.数组 作为函数参数 ,
    形式上,保持一致,被调函数中 就可以 访问到主调函数中数组的数据
    一维整型数组作为函数参数
    形参 写成数组的形式 同时需要 一个接受数组长度的形参 
    实参 传数组名,传数组长度
  2.数组作为函数参数,
    因为传的是数组名,而数组名是数组首元素的地址,所以相当于将数组空间的地址传给了被调函数,
    而被调函数,通过数组下标运算,可以直接访问到了主调函数中对应数组空间的数据。
    所以,数组传参的这种方式,可以实现,被调函数修改主调函数中的数据 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值