C语言:函数(第二部分)

1.三级流水线:PC用来取地址(从内存中读取下一条指令)-->译码(解析指令,确定操作类型和操作数。)-->执行(执行运算,如算术操作、内存访问)
2.函数的递归调用:直接或间接调用自己本身。
ps:无穷无尽的函数调用把栈区占满从而崩溃。
递归就是以消耗大量的内存空间作为代价(不如for循环)
但是在某些情况下使用需要使用递归,如处理汉诺塔问题:

3.(1)整型数组作为函数调用要传俩个参数,一个数组名(即首元素地址),可以不加数组长度,另一个是数组长度,因为被调函数中求不出数组的自身长度,所以我们传一个数组长度的值给形参。
(2)但在字符串数组中,可以只传一个数组名,因为在形参中字符串数组的长度可以省略,所以也不需要传一个数组长度的进去。
4.当数组作为实参时候,只传递数组首元素地址,使被调函数可以修改主调函数的值。(实际上是一种指针传参)。当被传的参数是数组时,传递首地址,即为传地址,此时被调函数就可以通过定位主调函数的地址值进行修改主调函数的值。
5.字符型数组作为实参时,可以不传递len,因为字符型数组本身就是容器,所以len可以省略。
6.例题
(1)斐波那契数列

重点就在于让要理解x1 = x2,x2 = x;
(2)编写程序实现void itoa(char s[],int n);实现整型转字符串


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值