工学C语言第8章构造数据类型指针2指针和函数课件

上传人:仙*** 文档编号:232235138 上传时间:2023-09-14 格式:PPT 页数:49 大小:667.50KB
收藏 版权申诉 举报 下载
工学C语言第8章构造数据类型指针2指针和函数课件_第1页
第1页 / 共49页
工学C语言第8章构造数据类型指针2指针和函数课件_第2页
第2页 / 共49页
工学C语言第8章构造数据类型指针2指针和函数课件_第3页
第3页 / 共49页
资源描述:

《工学C语言第8章构造数据类型指针2指针和函数课件》由会员分享,可在线阅读,更多相关《工学C语言第8章构造数据类型指针2指针和函数课件(49页珍藏版)》请在装配图网上搜索。

1、1 111 12 2本章主要内容本章主要内容1、概述、概述-地址的概念地址的概念2、指、指针与与变量量-指指针作作为函数的参数函数的参数3、指、指针和数和数组-指指针运算,指向数运算,指向数组的指的指针4、指、指针与字符串与字符串-用指用指针处理字符串理字符串5、数、数组、指、指针作作为函数的参数函数的参数1、数、数组元素作元素作为参数;参数;2、数、数组名作名作为参数参数3、指、指针变量与数量与数组名作名作为参数参数6、指、指针与函数与函数1、返回指、返回指针的函数;的函数;2、指向函数的指、指向函数的指针7、指、指针数数组-指指针变量的数量的数组2 2第五节第五节 数组、指针作为函数的参数

2、数组、指针作为函数的参数31、数组元素作为参数;、数组元素作为参数;2、数组名作为参数、数组名作为参数3、指针变量与数组名作为参数、指针变量与数组名作为参数1、数组作为函数的参数、数组作为函数的参数数数组元素元素作作为函数的参数:数函数的参数:数组元素作元素作为函函数的参数,与数的参数,与简单变量作量作实在参数一在参数一样,是,是单向向传递,即:,即:“值传递”。数数组名名作作为函数的参数:函数的参数:实参和形参都必参和形参都必须是是相同相同类型的型的数数组名名。42.数组名数组名作为函数的参数作为函数的参数 例例:编一函数,一函数,计算任意一个一算任意一个一维数数组的数的数组元素的平均元素的

3、平均值。5例例:编一函数,一函数,计算任意一个一算任意一个一维数数组的数的数组元素元素的平均的平均值。66 6主函数:主函数:78 8例例:写一个函数,将一个字符串按反序存放。写一个函数,将一个字符串按反序存放。9 910103.多维数组名多维数组名作为函数的参数(了解)作为函数的参数(了解)例例:编函数求一个函数求一个34矩矩阵中最大的元素。中最大的元素。1.定定义函数:函数:float largest(float a34)2.函数函数实现:a)max 表示最大表示最大值b)将将 a00 送送给 max;c)从数从数组的第的第0行第行第0列开始,逐个与列开始,逐个与 max 进行比行比较,如

4、果某个数,如果某个数组元素比元素比 max 大,将大,将该数数组元素送入元素送入max中;中;11121213131414第五节第五节 数组、指针作为函数的参数数组、指针作为函数的参数151、数组元素作为参数;、数组元素作为参数;2、数组名作为参数、数组名作为参数3、指针变量与数组名作为参数、指针变量与数组名作为参数1515有以下有以下4种形式:种形式:实际参数参数与与形式参数形式参数均均为数数组名名实际参数参数为数数组名名,形式参数形式参数为指指针变量量实际参数参数为指指针变量量,形式参数形式参数为数数组名名实际参数参数和和形式参数形式参数均均为指指针变量量3、指针变量和数组名作为函数的参数

5、、指针变量和数组名作为函数的参数161.实际参数与形式参数均为数组名实际参数与形式参数均为数组名:调用函数的格式:调用函数的格式:main()类型名类型名 数组名数组名110;函数名函数名(数组名数组名1);定义函数的格式:定义函数的格式:函数类型函数类型 函数名函数名(类型名类型名 数组名数组名)17172.实参为数组名,形参为指针变量:实参为数组名,形参为指针变量:调用函数的格式:调用函数的格式:main()类型名类型名 数组名数组名110;函数名函数名(数组名数组名1);定义函数的格式:定义函数的格式:函数类型函数类型 函数名函数名(类型名类型名 *p)18183.实参为指针变量,形参为

6、数组名实参为指针变量,形参为数组名:调用函数的格式:调用函数的格式:main()类型名类型名*p;函数名函数名(p);定义函数的格式:定义函数的格式:函数类型函数类型 函数名函数名(类型名类型名 数组名数组名 )19194.实参和形参均为指针变量实参和形参均为指针变量;调用函数的格式:调用函数的格式:main()类型名类型名*p;函数名函数名(p);定义函数的格式:定义函数的格式:函数类型函数类型 函数名函数名(类型名类型名*p)2020例例:求一维数组中下标为偶数的元素之和。:求一维数组中下标为偶数的元素之和。分析:分析:1 1、定、定义数数组,从,从键盘接收数据;接收数据;2 2、定、定义

7、相关相关变量,量,对数数组进行求和;行求和;3 3、输出出结果。果。2121解法一:主函数中完成算法,使用下标法引用数组元素。解法一:主函数中完成算法,使用下标法引用数组元素。22222222解法二:主函数中完成算法,用指针法引用数组元素。解法二:主函数中完成算法,用指针法引用数组元素。23232323解法三:实参是数组名,形参是数组名,调用函数。解法三:实参是数组名,形参是数组名,调用函数。24242424解法四:实参是数组名,形参是指针变量,调用函数。解法四:实参是数组名,形参是指针变量,调用函数。25252525解法五:实参是指针变量,形参是数组名,调用函数。解法五:实参是指针变量,形参

8、是数组名,调用函数。26262626解法六:实参是指针,形参是指针变量,调用函数。解法六:实参是指针,形参是指针变量,调用函数。272727272828本章主要内容本章主要内容1、概述、概述-地址的概念地址的概念2、指、指针与与变量量-指指针作作为函数的参数函数的参数3、指、指针和数和数组-指指针运算,指向数运算,指向数组的指的指针4、指、指针与字符串与字符串-用指用指针处理字符串理字符串5、数、数组、指、指针作作为函数的参数函数的参数1、数、数组元素作元素作为参数;参数;2、数、数组名作名作为参数参数3、指、指针变量与数量与数组名作名作为参数参数6、指、指针与函数与函数1、返回指、返回指针的

9、函数;的函数;2、指向函数的指、指向函数的指针7、指、指针数数组-指指针变量的数量的数组2828第六节第六节 指针与函数指针与函数291.1.返回指返回指针值的函数的函数2.2.用指向函数的指用指向函数的指针变量量调用函数用函数3.3.用指向函数的指用指向函数的指针变量作函数的参数量作函数的参数掌握返回指针的函数的概念掌握返回指针的函数的概念掌握指向函数的指针的概念掌握指向函数的指针的概念1.返回指针值的函数返回指针值的函数函数的返回函数的返回值可以是可以是指向基本数据指向基本数据类型的指型的指针类型。型。定定义形式如下:形式如下:类型型说明符明符 *函数名函数名(参数表参数表)/函数体函数体

10、 30例例:int *search(int*x,int n)int*p;p=x+n;return p;1.*search(x,n)等价等价*(search(x,n);2.函数名为函数名为search;3.函数的返回值为指向整型的指针。函数的返回值为指向整型的指针。31312.函数的指针函数的指针-指向函数的指针指向函数的指针32类型型说明符明符 (*指指针变量名量名)();例:例:int (*p)();意味着:定意味着:定义了一个指向函数的指了一个指向函数的指针变量量p,函数的返回函数的返回值是整型。是整型。例例:求:求a,b中的最小者。中的最小者。333333例例:求:求a,b中的最小者,使

11、用中的最小者,使用函数指函数指针34指向函数指向函数调用函数调用函数3.3.用函数的指针作参数(了解)用函数的指针作参数(了解)可以用可以用指向函数的指指向函数的指针变量量作作为被被调用函数的用函数的参数参数;由于由于指指针变量量是指向某一函数的,所以先后使是指向某一函数的,所以先后使指指针指向不同的函数,就可以在被指向不同的函数,就可以在被调函数中函数中调用不同的函数。用不同的函数。35例:例:设一个函数设一个函数 process,在调用它的时候,在调用它的时候,每次实现不同的功能。每次实现不同的功能。(1)求求a和和b之和。之和。(2)求求a,b中大者。中大者。(3)求求a,b中小者。中小

12、者。分析分析(1)函数名作函数名作实在参数;在参数;(2)process的形参中,定的形参中,定义一个指向函一个指向函数的指数的指针。36373738383939u说明说明u用指向函数的指针作函数参数的优越性用指向函数的指针作函数参数的优越性在于能在调用一个函数过程中执行所指定在于能在调用一个函数过程中执行所指定的函数,从而增加处理问题的灵活性。的函数,从而增加处理问题的灵活性。u在处理不同函数时,在处理不同函数时,process函数本身并函数本身并未改变,而只是改变了调用它的实参。如未改变,而只是改变了调用它的实参。如果将另一个函数传给果将另一个函数传给process,只需改变一只需改变一个

13、实参值即可。个实参值即可。404141本章主要内容本章主要内容1、概述、概述-地址的概念地址的概念2、指、指针与与变量量-指指针作作为函数的参数函数的参数3、指、指针和数和数组-指指针运算,指向数运算,指向数组的指的指针4、指、指针与字符串与字符串-用指用指针处理字符串理字符串5、数、数组、指、指针作作为函数的参数函数的参数1、数、数组元素作元素作为参数;参数;2、数、数组名作名作为参数参数3、指、指针变量与数量与数组名作名作为参数参数6、指、指针与函数与函数1、返回指、返回指针的函数;的函数;2、指向函数的指、指向函数的指针7、指、指针数数组-指指针变量的数量的数组41417 7、指针数组指针数组42格式:格式:类型标识符类型标识符 *数组名数组名 常量表达式常量表达式;42422.指针数组的初始化指针数组的初始化指指针数数组的的初初始始化化就就是是在在定定义指指针数数组时给其数其数组元素元素赋值;例:例:char*p =Hello,Why,Thanks;指针数组的初值必须是地址;指针数组的初值必须是地址;注意!注意!434343P0P1P2Hello0Why0Thank0s图示:图示:44444444例:例:将将1010个学生的姓名按从小到大的顺序输个学生的姓名按从小到大的顺序输出。出。454545子函数子函数主函数主函数4646474748484949

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!