已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7讲 指针 内容: (1)返回指针值的函数 (2)指针数组 (3)指向指针的指针 返回指针值的函数 l函数的返回值可以是一个指针类型的数据(即地址) 返回指针值函数的定义格式: 函数类型 * 函数名( 形参列表 ) 函数体; 说明:定义一个返回指针值的函数与定义普通函数的格式基本 类似,只是在函数名前加 * , 表明该函数返回一个指针值 例: int * fun ( int a , int b ) 函数体 ; 例3-4求某班成绩的平均分, 最高分和最低分 要求用返回指针值的函数实现 分析: n通过函数average的返回值 得到保存平均分变量的地址, 进而得到平均分, 函数中将 平均分变量定义成静态的, 这样函数结束后该变量仍然 存在。 main p average aver1静态 aver float x=0, y=100, *p; printf(“input n:”); scanf(“%d“, p=average(n, printf(“ave=%6.2f, “, *p); printf(“max=%6.2f, “, x); printf(“min=%6.2fn“, y); 例3-4 程序代码 静态局部变量 float *average(int n, float *max, float *min) int i; float s, *aver, sum=0; static float aver1; aver= for(i=1; i*max) *max=s; if(s #include #define SIZE 1000 char bufSIZE ; char *p=buf ; char *alloc( int n) char *begin ; if ( p+n #include #define MAXLEN 7 #define N 4 void main( ) int i, j; char tempMAXLEN; char nameNMAXLEN=“Pascal“,“VC“,“Basic“,“Java“; printf(“before sorted:n“); for(i=0; i0) strcpy(temp, namei); strcpy(namei, namej); strcpy(namej, temp); printf(“nafter sorted:n“); for(i=0; i #include #define N 4 void main( ) int i, j; char *temp=NULL; char *pN=“Pascal“, “VC“, “Basic“, “Java“; printf(“nBefore sorted:n“); for(i=0; i0) temp=pi; pi=pj; pj=temp; printf(“nAfter sorted:n“); for(i=0; i0) temp=pi; pi=pj; pj=temp; 例2-4: 方法2的过程演示 i=0, j=1 PV temp 2100 2107 2110 2116 i=0, j=2 PB temp=p0; p0=p2; p2=temp; 2100 p0 p1 p2 p3 2110 2100 i=0, j=3 BJ i=1, j=2 VP temp=p1; p1=p2; p2=temp; 2107 2100 2107 i=1, j=3 PJ temp=p1; p1=p3; p3=temp; i=2, j=3 VP temp=p2; p2=p3; p3=temp; 2100 2116 2100 2107 2100 2107 指向指针的指针 2026 q int x, *q,*t; x=36; q= t= 36 2010 x 2048 t 20102026 t即为指向指针的指针(也称二级指针) 思考: q=45; *q=45; *t=56; *t=56; 对 错,因为q是指针变量,赋值号右侧必须是地址 错,因为t是二级指针变量,*t等价于q 对 指向指针的指针 char *p4=“Pascal“, “VC“, “Basic“, “Java“; char *q; q=p; for( ;qp+4;q+) puts(*q); p0 p1 p2 p3 Pascal0 VC0 Basic0 Java0 pq 思考: int a34; int *p; p=a; int a34; int (*p)4; p=a; 对 错 虽然在定义p的时只用 了一个*,但p实际上 是一个二级指针变量 虽然a是二级地址,p是二级指针变量,但它们的含义不同 a指向的是一行整型数据,它包含4个元素 p指向的是一个整型指针变量 作业: 习题10.12 某班期末考试有门课程, 班级人数不确定, 要求计算 每个学生的总分和平均分, 按以下格式输出数据 NO. S1 S2 S3 SUM AVE 1 97 86 92 276 92 2 92 91 90 273 91
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Java后端开发高并发解决方案与性能优化
- 2026-2031中国海洋生物医用材料行业发展态势及十五五盈利前景预测报告
- 2025年及未来5年市场数据中国按摩器械市场全景评估及发展趋势研究预测报告
- 2025年及未来5年市场数据中国纳米材料和纳米科技市场发展前景预测及投资战略咨询报告
- 2026-2031中国领带行业深度分析报告
- 基于溶胶-凝胶法的多不饱和脂肪酸制备及其性能研究-洞察及研究
- 2025至2030广告制作服务行业项目调研及市场前景预测评估报告
- 多维数据分析在泵阀健康评估中的方法学研究-洞察及研究
- 2025-2030中国液体化工物流环保标准与可持续发展战略报告
- 动态代码分析中的安全挑战-洞察及研究
- 车间安环环保工作汇报
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- JJG 52-2013弹性元件式一般压力表、压力真空表和真空表
- 科学课件《观察与比较》课件1
- 公司职业健康管理及考核办法
- 世行采购指南
- 中医药健康管理服务规范培训41张课件
- Q∕GDW 10364-2020 单相智能电能表技术规范
- 超星尔雅叶嘉莹《中华诗词之美》课后章节测验满分答案精编版
- 【学考】高中物理会考(学业水平考试)公式及知识点总结
- 自动抹灰机毕业论文初稿
评论
0/150
提交评论