
第9 章函数(2)1.数组作为函数参数2.函数的递归调用3.函数变量的作用域局部变量、全局变量、外部变量
1 第 9 章 函数(2) 1.数组作为函数参数 2.函数的递归调用 3.函数变量的作用域 局部变量、全局变量、外部变量

数组作为函数的参数数组作为函数参数double GetMax(double x,int n )double xx = x[0];for (int i=1;i>x[i];1double ma = GetMax(a,10);cout<<ma;1Page
Page 2 数组作为函数的参数 ⚫ 数组作为函数参数 double GetMax(double x[],int n ){ double xx = x[0]; for ( int i=1;i>x[i]; } double ma = GetMax(a,10); cout<<ma; }

数组作为函数的参数特别注意:1)数组名做实参(函数中对应形参),传送的值是“地址”。2)如果只是数组的元素作为参数,则是普通的变量,传送的是“元素值”。3)数组名做实参,一定要用另一个参数传入数组长度。Page
Page 3 数组作为函数的参数 ⚫特别注意: 1)数组名做实参(函数中对应形参),传送的 值是“地址”。 2)如果只是数组的元素作为参数,则是普通的 变量,传送的是“元素值”。 3)数组名做实参,一定要用另一个参数传入数组 长度

数组作为函数的参数数组名作函数参数时应注意:1)数组名作函数参数时,应在主调函数和被调函数中分别定义数组。2)实参数组与形参数组的类型必须相同3)形参数组的一维下标数可以省略,写门。4)数组名表示的是数组元素的首地址,数组名作函数参数时,传递的值是数组的地址Page
Page 4 数组名作函数参数时应注意: ◼ 1)数组名作函数参数时,应在主调函数和被 调函数中分别定义数组。 ◼ 2)实参数组与形参数组的类型必须相同。 ◼ 3)形参数组的一维下标数可以省略,写[]。 ◼ 4)数组名表示的是数组元素的首地址,数组 名作函数参数时,传递的值是数组的地址。 数组作为函数的参数

数组作为函数的参数参数传递小结:实参形参传递数据基本变量传值表达式基本变量数组元素传值数组名数组名传递的值是地址)Page5
Page 5 参数传递小结: 实 参 形 参 传 递 数据 基本变量 表达式 数组元素 基本变量 传 值 数组名 数组名 传 值 (传递的值是 地址) 数组作为函数的参数

函数的递归调用递归调用:在调用一个函数的过程中又出现直接或间接地调用该函数本身。这样的调用称为递归调用。voidi)Addrint&if(i>1e)return:eise<i++;Add(i):37Page
Page 6 递归调用:在调用一个函数的过程中又出现直接 或间接地调用该函数本身。这样的调用称为递归 调用。 函数的递归调用

函数的递归调用例使用递归算法编写计算1+2+...n的函数。#include"stdafx.h"#include"stdio.h"int Add(int n);void main()Vint nNum;scanf("%d",&nNum);longnTotal =Add(nNum);递归调用必须可以满足printf("%din",nTotal);一定条件时结束递归调int Add(int n)用,否则无限地递归调用将导致程序无法结束。if(n==1)return 1;elsereturn n+Add(n-1);1Page
Page 7 例 使用递归算法编写计算1+2+. n的函数。 函数的递归调用 递归调用必须可以满足 一定条件时结束递归调 用,否则无限地递归调 用将导致程序无法结束

变量的作用域变量的作用范围变量的生存与死亡也称变量的作用范围变量的作用域,即变量可以存储诸或访问的范围(变量的生存时间)。Page
Page 8 ◼ 变量的作用范围 也称 变量的作用域,即变 量可以存储或访问的范围(变量的生存时间)。 变量的作用范围(变量的生存与死亡) 变量的作用域

变量的作用域1、局部变量局部变量:在一个函数内部定义的变量。longgcd(long a,longb);3int a,b,c;局部变量的作用范围仅限于本函数,即只有在本函数内才能使用它们,其uoid main()他函数不能使用它们。1int x,y;double a,b,c;量不同函数中可以使用相同名字的变量,它们代表不同的对象,互不于扰Page
Page 9 ◼局部变量:在一个函数内部定义的变 量。 ◼局部变量的作用范围仅限于本函数, 即只有在本函数内才能使用它们,其 他函数不能使用它们。 ◼不同函数中可以使用相同名字的变 量,它们代表不同的对象,互不干扰。 1、 局部变量 变量的作用域

变量的作用域全局变量2、全全局变量:在函数外定义的变量,也称外部变量。■作用范围:从其定义的地方开始直至源程序文件的结束全局变量通常放在源程序的开始处10Page
Page 10 ◼全局变量:在函数外定义的变量,也称 外部变量。 ◼作用范围: ◼ 从其定义的地方开始直至源程序文件的结束。 全局变量通常放在源程序的开始处。 2、 全局变量 变量的作用域