1.函数定义
是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。
2.函数分类
(1)库函数
常用库函数有IO函数、字符串操作函数、字符操作函数、内存操作函数、数学函数等。
(2)自定义函数
自定义函数和库函数一样,有函数名、返回值类型和函数参数。但不一样的是这些都是我们自己来设计的。函数体交代的是函数的实现。
3.函数的参数
(1)实际参数
简称实参,是真实传递给函数的参数。
(2)形式参数
简称形参,指函数名后括号中的变量。
当实参传给形参时,形参其实是实参的一份临时拷贝,对形参的修改是不会改变形参的。
4.函数的调用
(1)传值调用
函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。
(2)传址调用
把函数外部创建变量的内存地址传递给函数参数一种调用函数的方式,这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量。
5.函数的嵌套调用和链式访问
函数和函数之间是可以有机的组合的。嵌套调用是指在函数中再调用一个函数,链式访问是把一个函数的返回值作为另外一个函数的参数。
6.函数的声明和定义
声明一般出现在函数的使用之前,要满足先声明后使用,一般放在头文件中。定义是指函数的具体实现,交代函数的功能实现。
7.函数递归
程序调用自身的编程技巧称为递归。主要思考方式在于:把大事化小。
递归的常见错误是 stack overflow(栈溢出)。
递归的两个必要条件:
①存在限制条件,当满足这个限制条件时,递归便不再继续;
②每次递归调用之后越来越接近这个限制条件。