☰
C语言,周博客日志
2026/9/30 11:24:05 网站建设 项目流程

9.28----9.29创作

1:递归调用

递归调用主要是不断在函数内使用函数,有两个使用条件(之前写代码的时候没有注意这两点导致没想明白)

具体实例1:斐波那契的实现

着重在函数内部利用fob(a-1)*a的返回值实现

实例2:输入一个多位数,将每一位顺序打印

逆序打印

重点在递归调用的逻辑----停止打印的条件;还有就是如何调用,在print函数里面如何进行运算使得数值符合结束条件

2.指针1

最简单的指针变量定义,此时b储存a变量地址,用p打印,若要打印a,则是直接打印b变量.

3/指针2

知识点1:const修饰指针

const在*右侧,b变量无法改变,可以通过*b改变指针变量的数值

const在*左侧,*b无法被改变

知识点2:野指针的出现与避免

三类都会使编译器报错,无法完成调试

如何避免?

1:使用NULL将指针定义

此时代码无报错

2:assert断言

宏定义assert定义指针是否为野指针

4:传值调用和传址调用

实例:利用指针变量进行俩个数值的转换

我们先定义两个整形变量,定义函数的时候,将两者的地址带进函数中(重点),函数内用指针变量进行调换达到目的.

若单纯传值调用:

则发现传值调用未实现功能,核心是因为两个变量的地址并没有改变,交换仅仅是数值交换,地址仍然保持不变

总结:

传址调⽤,可以让函数和主调函数之间建⽴真正的联系,在函数内部可以修改主调函数中的变量;所 以未来函数中只是需要主调函数中的变量值来实现计算,就可以采⽤传值调⽤。如果函数内部要改主调函数中的变量的值,就需要传址调⽤。

完

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询