C Primer Plus: 第九章 函数
9.2 ANSI C函数原型
- 调用函数时,主函数把它的参数存储在被称为栈(stack)的临时存储区,被调函数从栈中读取这些参数。
- ANSI C标准要求在函数声明时还要声明变量的类型,即使用函数原型来声明函数的返回类型、参数的数量和每个参数的类型。否则被调函数从栈中读取参数会出现错误。
9.3 递归
- 对比递归和循环:
- 一般而言,选择循环比较好。每次递归都会创建一组变量,所以递归使用的内存更多,而且每次递归都会把创建的一组新变量放在栈中。递归调用的数量受限于内存空间。
- 其实,由于每次函数调用要花费一定的时间,所以递归的执行速度比较慢。
9.7 指针:
- 声明指针变量时必须指定指针所指变量的类型,因为不同的变量类型占用不同的存储空间,一些指针操作要求知道操作对象的大小。