无参数无返回值调用类型的格式与举例: 格式:
举例:(计算梯形面积程序)
有参数无返回值的格式与举例: 格式:
举例(计算n到m的值):
无参数有返回值类型: 格式:
有参数有返回值类型:
返回值的数据类型必须与函数的数据类型相同。
形参与实参二三事
实参对型惨的数据传递只能是单向的,只能由形参传递给实参,而不能从形参传递给实参。 形参与实参的三个一致性要求:
形参与实参的必须个数相等、数据类型一致、数据一一对应。
数据传递
数据传递的方法主要包括三类:参数传递及函数返回值、批量数据传递、外部变量三种办法。 利用参数传递及函数返回值是比较常用的数据传递方法,用return语句即可实现。 利用数组名实现批量数据传递的方法是使用传递数组,可分为传值和传址两类,传递数据名的特点包括效率高,无需返回值,可双向传递但有安全隐患。 利用外部变量实现数据传递
使用外部变量实现数据传递的原因是外部变量作用域广,寿命长,有记忆能力、为各函数共享,便于函数间的数据交流,实现多值的返回;使用外部变量的缺点:破坏了信息传递的隐蔽性、降低了函数的通用性和可移植性。
函数的调用方式:
函数的递归调用:是指一个函数在它的函数体内,直接或间接的调用该函数本身。
函数的嵌套调用:是指在执行调用函数时,被调用函数又调用了其它函数。 函数的嵌套调用嵌套函数之间的关系有些类似于微机原理中的中断原理,即先不断的递归调用到不满足调用条件为止,再不断地进行返回操作知道最初的一层。递归调用也可以看作是一种特殊的嵌套函数效果图如下:
变量的作用域和生存期:
内部变量:
内部变量是指定义在某个函数内的变量,其定义合法仅限于该函数。 作用域:只在本函数范围内可见。 生存期:函数调用的开始至结束。 外部变量:
外部变量是指定义在所有函数之外的变量,其定义在整个程序中皆合法。 作用域:整个程序中可见。 生存期:程序的整个运行期间。
当外部变量与内部变量重名时,遵循就近原则,即哪个定义近,变量就被赋予了那个值。 静态存储区:
使变量进入静态存储区的两种方式:将变量定义在函数外部(外部变量);在函数内部使用static关键字定义变量(内部变量);常量一般也放在静态存储区中, 动态存储区:
将变量定义在函数内部,并用auto声明。(内部变量)。 作为函数定义的形参,如:
CPU寄存器:
将变量定义在函数内部,并用register声明即可使函数进入CPU寄存器。