- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 12.7 返回指针的函数 前面介绍了return语句只能返回一个值,如何返回多个数据?通过返回指针来实现 返回指针函数定义形式:类型标识符 *函数名(参数表) 例.int *a(int x, int y);//声明一个函数名为a,其返回值类型是“指向整型的指针”,形式参数为int x,y 例.有若干学生成绩(每个学生四门课程),要求用户在输入学生序号(从0开始)后,能输出该学生的全部成绩 分析:设计一个指针变量pointer指向一个学生的四门成绩 ,float (*pointer)[4]; §12.7 返回指针的函数 指针变量使用小结 有关指针变量的类型定义 含义 int i; 定义整型变量i int *p; p是指向整型数据的指针变量 int a[n]; 定义数组a,元素类型为int,元素个数是n int *p[n]; p是指针数组,包含n个整型指针变量 int (*p)[n];p是指向数组的行指针,数组每行有n个整型数 int f(); f是函数,返回值是int int *p(); p是函数,返回值是指针,该指针指向整型数据 int (*p)(); p是函数指针变量,指向int函数的入口地址。 int **p; p是指针变量,指向一个指向整型数据的指针 指针变量使用小结 指针变量运算小结 1、指针变量加/减运算 p++、p--、p+i、p-i、p+=i、p-=i 加1表示指向下一个数据。 2、指针变量相减。当p1、p2指向同一个数组的元素,指针相假p2-p1等于p1、p2间的元素个数。 注意:指针相加无意义 指针变量使用小结 3、指针变量赋值 p = a; 变量a的地址赋给p,即指针p指向a p = array; 数组array首地址赋给p p = array[i]; 数组元素array[i]的地址赋给p p = max; 函数max的入口地址赋给p p1 = p2; 指针p2的值赋给指针p1,即p1、p2所指的数据相同 注意:“野指针”是指向“垃圾”内存(不可用内存)的指针 指针变量使用小结 4、空指针(null pointer ):不指向任何变量(对象)和函数 #define NULL 0 char *p=NULL; 5、空类型(通用)指针(void *):基类型未确定的指针 void *p,表示p是空类型指针,它可以指向任何数据类型。例如:void *malloc( size_t size ); int *p; p=(int*)malloc(sizeof(int)*10); 空类型指针与其他类型指针之间赋值时,应进行强制类型转换 例、char *p1; void *p2; p1 = (char *)p2; p2 = (void *)p1; 第12次课后练习 本次练习必做2道题,第14周末提交源程序和运行结果 1.定义一个指向字符串的指针数组,用一个函数完成N个不等长字符串的输入,使得指针数组元素依次指向每一个输入的字符串。设计一个完成N个字符串按升序的排序函数(在排序过程中,要求只交换指向字符串的指针,不交换支付串)。在主函数中实现对排序后的字符串的输出。假设已知字符串的最大为80字节;根据实际输入的字符串长度来分配存储空间。 课后练习 2.编写程序,从键盘读入10个整数,将其存在一个长度为10的一维数组a[]中。然后输出该组数据从小到大的排序结果以及在原数组中的下标。 如:输入 26 14 57 33 41 12 96 8 67 3 输出: 3 8 12 14 26 33 41 57 67 96 9 7 5 1 0 3 4 2 8 6 要求: 排序算法自选;假设输入数据中无重复数据; 程序过程中不能改写数组a的内容,也不能新开辟整数数组存放排序后的结果。 提示: 可以开辟一个整型指针的数组:int * pa[10]; 将原来针对数组a[10]的排序过程,改为针对数组pa[10]进行; 最后按照pa[10]的结果打印排序结果,和在原来数组a[10]中的位置。 1.编写程序,求一个N×N方阵的第i对角线的元素之和。其中,方阵的第i对角线定义如下: 第0对角线 第1对角线 第2对角线 要求: 方阵大小固定为10×10; 方阵元素如下: 使用指针编程。 课后练习选做题 * * 第12讲 指针(下)参考教材6.4-6.8 希望大家能从指针学习中拥有“痛并快”的感觉,同时通过“巅峰体验”后,得出“会当凌绝顶,一览众山小”的感慨 本讲主要内容 二维数组的指针及其指针变量 字符数组的指针及其指针变量 指针数组 指向指针变量的指针变量 函数指针和指向函数的指针变量 返
您可能关注的文档
- 盖梁首件开工报告(定版)讲述.doc
- 第11课太平天国运动详解.ppt
- 盗窃信用卡并使用”的含义解析与司法认定讲述.doc
- 盖梁施工方案1讲述.doc
- 盘古开天地(二)教学课件讲述.ppt
- 盖梁与墩柱连接方式研究综述讲述.docx
- 盘县第一中学体育排球垫球课件讲述.ppt
- 第1章制图基本知识详解.ppt
- 第11篇概率、随机变量及其分布详解.doc
- 盘古开天ppt讲述.ppt
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
最近下载
- 减肥打卡社群运营.pdf
- 时间管理之四象限法则的运用PPT(59张)课件.pptx VIP
- Unit 5 Whose dog is it_ Part A Spell 课件人教版英语五年级下册.pptx
- 价值管理的信息系统开发.pptx VIP
- 装饰装修施工组织设计(完整版).pdf
- 模板专项施工方案(完整版).docx
- 《最后一片叶子》课件高教版中职语文基础模块上册.pptx
- 光合速率的测定方法讲课教案.ppt
- 电气控制与可编程控制技术课程设-三相六拍步进电机PLC控制系统的设计.docx VIP
- 2024-2025学年苏科版八年级物理下册 第9章 压强和浮力【速记清单】(解析版).pdf VIP
文档评论(0)