第九章:函数
函数是完成特定任务的独立程序代码单元,使用函数可以省去编写重复代码的苦差。如果程序要多次完成某项任务,用函数会方便很多。函数让程序更加模块化,从而提高了代码的可读性,更方便后期的修改、完善。
描述性的函数名能清楚的表达函数的用途和组织结构。然后单独设计和测试每个函数,直到函数都能正常完成任务。在动手编写代码之前,仔细考虑一下函数应该完成什么任务,以及函数和程序整体的关系。
函数原型告诉编译器函数的类型,函数调用表明在此处执行函数;函数定义明确的指定了函数要做什么,任何程序在使用函数之前都要声明函数的类型,一般而言,函数原型指明了函数的返回值类型和函数接收的参数类型,当执行到函数时,会找到该函数的定义并执行其中的内容,执行完代码后,计算机返回主调函数继续执行下一行。函数中的变量是局部变量,意思是该变量只属于该函数,函数名不会与其他函数中的变量名冲突。
形式参数也是局部变量,属该函数名私有。
在函数调用中,实际参数提供了值,该值在函数运行的过程中可以被调用,但是不会改变提供该值的变量的值(指针可以在函数中改变传入参数的值)。(黑盒视角)
return可以从函数中返回值,返回值不仅可以赋值给变量,也可以被用作表达式的一部分,返回值不一定是变量的值,也可以是任意表达式的值。实际得到的返回值相当于把函数中指定的返回值赋给与函数类型相同的变量所得到的值。return的作用是终止函数并把控制返回主调函数的下一条语句
主调函数把它的参数存储在被称为栈的临时存储区,被调函数从栈中读取这些参数。
递归 就是自己调用自己 递归函数必须包含能让递归调用停止的语句。通常