函数
函数的定义
函数是实现一定功能的语句的集合,格式:返回类型 函数名称(参数类型 参数){ 函数主体 }
全局变量
全局变量是指在定义之后的所有程序段内都有效的变量
局部变量
局部变量定义在函数内部,且只在函数内部生效,函数结束时局部变量销毁
传递参数的方式称为值传递(即局部变量传进去的参数实际上是一个副本),把函数定义的小括号内的参数称为形式参数或形参,把实际调用时小括号内的参数称为实际参数或实参
再谈main函数
一个程序只能有一个主函数,且从主函数的第一个语句开始执行
以数组作为函数参数
当数组作为函数参数,定义函数时,参数中数组的第一维不需要写长度(二维数组的第一维不需要写长度,但是第二维需要写长度)。实际调用也只需要填写函数名。注意:当数组作为参数时,在函数中对数组元素的修改就等同于是对原数组元素的修改,区别普通的局部变量,原因:由于数组名的值是一个指向数组第一个元素的指针,因此实际传递给函数的是指向数组起始位置的指针的一份拷贝,该指针同样指向数组起始位置。在函数内部对指针形参进行间接访问操作,实际访问的是原数组的元素
程序示例
运行结果
函数的嵌套调用
函数的嵌套调用是指一个函数中调用另一个函数,调用方式和之前main函数调用其他函数是一样的
函数的递归调用
函数的递归调用是指一个函数调用函数本身
最适合递归法解决的问题——汉诺塔问题;最不适合递归法解决的问题——斐波那契数列