Chapter 9 函数(Functions)

要点总结

1. 函数

  • 函数是完成特定任务的独立程序代码单元。
  • 使用函数的意义:
    • 可以省去编写重复代码的苦差。
    • 让程序更加模块化,从而提高可读性,方便后期的修改和完善。
  • 分析程序
    • 函数原型(function prototype) 告诉编译器某函数的类型;(一般而言,它指明了函数的返回值类型和函数接受的参数类型)
    • 函数调用(function call) 表明在此处执行函数;
    • 函数定义(function definition) 明确地指定了函数要做什么。
  • 参数
    • 形式参数是被调函数中的变量,实际参数是主调函数赋给被调函数的具体值。
    • 形式参数是局部变量。
    • 形式参数是函数定义的函数头中声明的变量,实际参数是出现在函数调用圆括号中的表达式。

2. 递归

  1. 定义: 函数自己调用自己,这种调用过程称为递归。
  2. 基本原理
    • 每级函数调用都有自己的变量。
    • 每次函数调用都会返回一次。
    • 递归函数中位于递归调用之前的语句,均按被调函数的顺序执行。
    • 递归函数中位于递归调用之后的语句,均按被调函数相反的顺序执行。
    • 递归函数中必须包含能让递归调用停止的语句。
  3. 尾递归
    • 递归调用置于函数末尾。这是最简单的递归形式,相当于循环。
    • 递归和循环都可以时,优先使用循环。
      • 因为每次递归都会创建一组变量,所以递归占用的内存多。而且每次递归调用都会把创建的一组新变量放在栈中。
      • 每次函数调用要花一段时间,所以递归的执行速度比较慢。

3. 查找地址: &运算符

  • 指针用于存储变量的地址, 是一个值为内存地址的变量
  • 如果主调函数不使用return返回的值,则必须通过地址才能修改主调函数中的值。
  • 用return语句只能把被调函数中的一个值传回主调函数。
  • & 求地址。
  • * 解引用。找出存储在指针所指向的值。
  • 声明指针变量时必须指定指针所指向变量的类型,因为不同的变量类型占用不同的存储空间。另外,程序必须知道存储在指定地址上的数据类型。

复习题

  1. 形参和实参的区别。
  • 形式参数是定义在被调函数中的变量,实际参数是出现在函数调用中的值,该值被赋给形式参数。可以把实际参数看作是在函数调用时初始化形式参数的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值