第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
2、)/n不能超过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
3、Sum(int n)定义的函数指针/(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;/定义定
5、义 main()函数内部的局部变量函数内部的局部变量 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+;/引用全局
6、变量引用全局变量x和和y y+;printf(%d,%dn,x,y);2.全局变量全局变量现在学习的是第9页,共26页(1)程序区)程序区(2)静态存储区)静态存储区(3)局部变量区。)局部变量区。(4)堆()堆(heap)区)区(5)文字常量区)文字常量区8.7.2 变量的存储类别变量的存储类别用户存储空间一般分为五类:用户存储空间一般分为五类:现在学习的是第10页,共26页自动变量(自动变量(auto)寄存器类变量(寄存器类变量(register)静态变量(静态变量(static)外部变量(外部变量(extern)C语言中的变量存储类别分为以下四种:语言中的变量存储类别分为以下四种:现在学
7、习的是第11页,共26页 自动变量用关键字自动变量用关键字auto表示,此类变量放在动态表示,此类变量放在动态存储区里,是存储区里,是C语言中使用最广泛的一种类型。函数的语言中使用最广泛的一种类型。函数的形参,函数体或复合语句内部定义的缺省存储类别的变形参,函数体或复合语句内部定义的缺省存储类别的变量都属于自动变量。自动变量定义的格式为:量都属于自动变量。自动变量定义的格式为:auto 数据类型说明符数据类型说明符 变量名表;变量名表;例如,例如,int x;等价于等价于 auto int x;注意:不能在声明形参时使用注意:不能在声明形参时使用auto关键字。关键字。1.自动变量(自动变量(
8、auto)现在学习的是第12页,共26页(1)自动变量的作用域仅限于定义该变量的函数或复)自动变量的作用域仅限于定义该变量的函数或复合语句内。合语句内。(2)自动变量的生存期从定义该变量的函数调用开始)自动变量的生存期从定义该变量的函数调用开始到函数运行结束。因此函数调用结束之后,自动变量的到函数运行结束。因此函数调用结束之后,自动变量的值不能保留;在复合语句中定义的自动变量,在退出复值不能保留;在复合语句中定义的自动变量,在退出复合语句后也不能再使用。合语句后也不能再使用。(3)由于自动变量的作用域和生存期限于定义它的函数体)由于自动变量的作用域和生存期限于定义它的函数体或复合语句内,因此,
9、不同的函数或复合语句中允许使用同或复合语句内,因此,不同的函数或复合语句中允许使用同名的变量而不会混淆。名的变量而不会混淆。auto变量具有以下特点:变量具有以下特点:现在学习的是第13页,共26页 寄存器变量用关键字寄存器变量用关键字register表示,也属于动态变量,表示,也属于动态变量,它与它与auto变量的区别是:变量的区别是:register变量的值存放在变量的值存放在CPU的寄存器中,的寄存器中,auto变量的值存放在内存单元中。程序运变量的值存放在内存单元中。程序运行时,行时,CPU访问寄存器的速度比访问内存的速度快,访问寄存器的速度比访问内存的速度快,因此把变量设置为因此把变
10、量设置为register型将提高程序运行的速度。寄型将提高程序运行的速度。寄存器变量定义的格式为:存器变量定义的格式为:register 数据类型说明符数据类型说明符 变量名表;变量名表;例如,例如,register int x;2.寄存器变量(寄存器变量(register)现在学习的是第14页,共26页 静态变量用关键字静态变量用关键字static表示,此类变量存放在静态表示,此类变量存放在静态存储区里。一旦为其分配了存储单元,在整个程序运行存储区里。一旦为其分配了存储单元,在整个程序运行期间,将固定占用存储单元,直到程序运行结束。期间,将固定占用存储单元,直到程序运行结束。静态变量定义的格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 函数2 第14次课优秀PPT 函数 14 优秀 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内