函数的递归调用

1.用函数表达逻辑结果:返回的int表示逻辑结果

2.assert(expression):关系表达式,若表达式为假,则程序终止

3.值传递:C语言中,所有传参都是值传递,被调函数中,无法通过形参改变实参地址

(只把i的值传过来,不会影响i的值)形参是实参的复制品

    若想改变i,则需要取i 的地址来改变

4.C语言默认传参顺序:自右向左

5.传参过程中,不允许对同一变量进行++,--的操作

   如: k = intcmp(++i,++i);

6.指令集:CISC(复杂) RISC(精简)

   cpu的指令跳转,pc处理器

sum = i + j; 

mov r0,&i;         mov r1,&j;      add r2,r0,r1;       mov &sum,r2

栈(数据结构):FILO(先进后出)

栈区:形参和局部变量都保存在栈区,空间有限,linux约8M,windows约1M

调用函数前,保护现场;调用结束后,恢复现场(消耗栈区空间)

 

栈区:定义指针标量,指向堆区

堆区:向操作系统申请,用完归还,手动申请和销毁

字符串常量区(开辟独立的内存空间装在字符串常量)

静态区(全局区)

代码区

二、函数调用

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

是循环的第五种表达方式,(无条件)导致栈区空间消耗殆尽造成程序崩溃

寻找循环不递归的条件

递归调用会占用大量内存空间

需要有出栈的条件,程序才不会崩溃 

回文数

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值