第8章函数2 第14次课精选PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第8章函数2 第14次课精选PPT.ppt》由会员分享,可在线阅读,更多相关《第8章函数2 第14次课精选PPT.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第8章 函数2 第14次课第1页,本讲稿共26页一维数组名作函数实参一维数组名作实参时,形参的设置方法有三种:以int型为例,n表示元素个数(1)fun(int*p,int n)(2)fun(int p,int n)(3)fun(int p10,int n)/n不能超过10理解例8.12第2页,本讲稿共26页二维数组名作函数实参二维数组名作实参时,形参的设置方法有三种:以int型为例,n表示行数,m表示例数(1)fun(int(*p)4,int n,int m)(2)fun(int p 4,int n,int m)/m不能超过4(3)fun(int p104,int n,int m)/n不能超
2、过10,m不能超过4理解例8.15第3页,本讲稿共26页8.6.3函数指针函数指针1.函数指针的定义函数指针的定义函数指针的一般定义格式为:函数类型函数类型(*指针变量名指针变量名)(形参列表形参列表);2.函数指针的赋值函数指针的赋值int fun(float x);int(*fun_p)(float);fun_p=fun;第4页,本讲稿共26页 例例8.19 函数指针的用法函数指针的用法 int fun(int n)int i,sum=0;for(i=1;i=n;i+)sum+=i;return sum;void main()int(*p)(int);/为 int Sum(int n)定义
3、的函数指针/(1)int sum;p=fun;/(2)给函数指针赋值sum=p(100);/(3)通过函数指针调用函数,等价于 sum=fun(100);printf(“sum=%dn,sum);第5页,本讲稿共26页理解例8-20第6页,本讲稿共26页8.7.1 变量的作用域变量的作用域 C语言中所有的变量都有自己的作用域,按作用域语言中所有的变量都有自己的作用域,按作用域范围可分为两类:局部变量和全局变量。范围可分为两类:局部变量和全局变量。1.局部变量局部变量 局部变量是指在函数内部定义的变量,函数的局部变量是指在函数内部定义的变量,函数的形参也属于局部变量。局部变量的作用域仅限于定形参
4、也属于局部变量。局部变量的作用域仅限于定义它的函数体内部。通常,这些变量的定义放在函义它的函数体内部。通常,这些变量的定义放在函数体的最前部,即函数定义中的数体的最前部,即函数定义中的“说明语句说明语句”部分。部分。8.7 变量的作用域和存储类别变量的作用域和存储类别第7页,本讲稿共26页void fun_1(int a)int x,y;/定义定义fun_1()函数内部的局部变量函数内部的局部变量void fun_2(int a)int x,y;/定义定义 fun_2()函数内部的局部变量函数内部的局部变量void main()int x,y;/定义定义 main()函数内部的局部变量函数内部
5、的局部变量 fun_1(x);fun_2(y);【例例8.21】局部变量使用示例。局部变量使用示例。第8页,本讲稿共26页 在函数外定义的变量称为全局变量,也称外部变量。全在函数外定义的变量称为全局变量,也称外部变量。全局变量的作用域从定义的位置开始直到本源程序的结束。局变量的作用域从定义的位置开始直到本源程序的结束。【例例8-22】全局变量使用示例。全局变量使用示例。int x=2,y=3;/全局变量的定义全局变量的定义void fun(void)x+;/引用全局变量引用全局变量x和和y y+;void main()fun();x+;/引用全局变量引用全局变量x和和y y+;printf(%
6、d,%dn,x,y);2.全局变量全局变量第9页,本讲稿共26页(1)程序区)程序区(2)静态存储区)静态存储区(3)局部变量区。)局部变量区。(4)堆()堆(heap)区)区(5)文字常量区)文字常量区8.7.2 变量的存储类别变量的存储类别用户存储空间一般分为五类:用户存储空间一般分为五类:第10页,本讲稿共26页自动变量(自动变量(auto)寄存器类变量(寄存器类变量(register)静态变量(静态变量(static)外部变量(外部变量(extern)C语言中的变量存储类别分为以下四种:语言中的变量存储类别分为以下四种:第11页,本讲稿共26页 自动变量用关键字自动变量用关键字auto
7、表示,此类变量放在动态存储区表示,此类变量放在动态存储区里,是里,是C语言中使用最广泛的一种类型。函数的形参,函数语言中使用最广泛的一种类型。函数的形参,函数体或复合语句内部定义的缺省存储类别的变量都属于自动变体或复合语句内部定义的缺省存储类别的变量都属于自动变量。自动变量定义的格式为:量。自动变量定义的格式为:auto 数据类型说明符数据类型说明符 变量名表;变量名表;例如,例如,int x;等价于等价于 auto int x;注意:不能在声明形参时使用注意:不能在声明形参时使用auto关键字。关键字。1.自动变量(自动变量(auto)第12页,本讲稿共26页(1)自动变量的作用域仅限于定义
8、该变量的函数或复合)自动变量的作用域仅限于定义该变量的函数或复合语句内。语句内。(2)自动变量的生存期从定义该变量的函数调用开始到函)自动变量的生存期从定义该变量的函数调用开始到函数运行结束。因此函数调用结束之后,自动变量的值不能保数运行结束。因此函数调用结束之后,自动变量的值不能保留;在复合语句中定义的自动变量,在退出复合语句后也不留;在复合语句中定义的自动变量,在退出复合语句后也不能再使用。能再使用。(3)由于自动变量的作用域和生存期限于定义它的函数)由于自动变量的作用域和生存期限于定义它的函数体或复合语句内,因此,不同的函数或复合语句中允许体或复合语句内,因此,不同的函数或复合语句中允许
9、使用同名的变量而不会混淆。使用同名的变量而不会混淆。auto变量具有以下特点:变量具有以下特点:第13页,本讲稿共26页 寄存器变量用关键字寄存器变量用关键字register表示,也属于动态变量,表示,也属于动态变量,它与它与auto变量的区别是:变量的区别是:register变量的值存放在变量的值存放在CPU的的寄存器中,寄存器中,auto变量的值存放在内存单元中。程序运行时,变量的值存放在内存单元中。程序运行时,CPU访问寄存器的速度比访问内存的速度快,因此把变量设访问寄存器的速度比访问内存的速度快,因此把变量设置为置为register型将提高程序运行的速度。寄存器变量定义的型将提高程序运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 函数2 第14次课精选PPT 函数 14 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内