- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 的指针
本章教学内容 变量的地址和指针变量的概念 指针变量的定义和引用 指针变量作为函数参数 指针和一维数组 指针和字符串 指向多维数组的指针和指针变量* 函数的指针和指向函数的指针变量* 指针数组 main函数中的参数* **通讯录实例的部分程序 教学目标、重点和难点 教学目标 理解指针的概念 掌握指针变量的定义、赋值以及*运算符、运算符的使用方法 理解指针和数组的关系,掌握用指针引用数组、字符串的方法 了解指向指针的指针变量 教学重点 指针的概念;指针与变量的关系;使用指针引用数组和字符串 教学难点 用指针间接存取数据;指针的移动;指向指针的指针变量的概念 关于指针 指针是C语言的一个重要特色; 正确而灵活地运用指针可以: 有效表示复杂的数据结构; 能动态分配内存; 方便地使用字符串; 有效而方便地使用数组; 在调用函数时能获得1个以上的结果; 能直接处理内存单元的地址 可以使程序简洁、紧凑、高效 【例6.7】有10个元素的数组,完成以 下功能: 多维数组的访问 用指针变量q指向数组元素a[i][j] 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 2022 2024 2026 1 3 5 7 9 11 13 15 17 19 21 23 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] 2000 q =*q =*(q+2) =*(q+4) =*(q+6) =*(q+8) =*(q+10) 用指针变量p指向一个一维数组,通过*p指向数组元素a[i][j] p[0] p[1] p[2] p =*(*(p+0)+0) =*(*(p+0)+2) =*(*(p+1)+0) =*(*(p+1)+2) =*(*(p+2)+0) =*(*(p+2)+2) 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 2022 2024 2026 1 3 5 7 9 11 13 15 17 19 21 23 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] =*(*(p+0)+0) =*(*(p+0)+2) =*(*(p+1)+0) =*(*(p+1)+2) =*(*(p+2)+0) =*(*(p+2)+2) 指针变量p与多维数组a的关系: =*(*(a+0)+0) =*(*(a+0)+2) =*(*(a+1)+0) =*(*(a+1)+2) =*(*(a+2)+0) =*(*(a+2)+2) p[0] p[1] p[2] p p=a a[0]=*(a+0)=2000 a[1]=*(a+1)=2008 a[2]=*(a+2)=2016 p是指向一维数组的指针变量 a[0] a[1] a[2] a 多维数组的指针 用指针变量q指向数组元素a[i][j] int a[3][4],*q; q= a[0]; 2000 2002 2004 2006 2008 2010 2012 2014 2016 2018 2020 2022 2024 2026 1 3 5 7 9 11 13 15 17 19 21 23 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] 2000 q 用指向一维数组的指针变量p int a[3][4],(*p)[4]; p=a; a[0] a[1] a[2] p a 1 3 5 7 9 11 13 15 17 19 21 23 p p+1 p+2 q q+1 q+2 q+3 例题:有一个班,3个学生,各学4门课,计算总平均分数,以及输出第n个学生的成绩。 void average(float *p,int n) { float *p_end; float sum=0,aver; p_end=p+n-1; for(;p=p_end;p++) sum=sum+(*p); aver=sum/n; printf(average=%5.2f\n,aver); } void search(float (*p)[4],int n) { int i; printf(the scores of No.%d are:\n,n); for(i=0;i4;i++) pri
您可能关注的文档
- 第3章 工业控的制系统信息安全技术与方案部署.ppt
- 第3章 数据类型、的运算符和表达式.ppt
- 第3章 数据类型运的算符与表达式.ppt
- 第3章 的PHP操作数据库_教学设计.doc
- 第3章 处的理器体系结构及组成.ppt
- 第3章 消费者行为理论的(完全版).ppt
- 第3章 的用户与用户组管理.pdf
- 第3章 数的值计算功能.ppt
- 第3章 的用户管理.ppt
- 第3章 表操作的-1(字段类型讲解) -XU.pptx
- 四川省绵阳市地方一般公共预算-各项税收收入综合情况3年数据解读报告2020版.pdf
- 微生物实验室生物安全培训课件.pdf
- 山东省聊城市地方一般公共预算收入-各项税收收入3年数据解读报告2020版.pdf
- 河北省限额以上住宿业企业具体情况3年数据专题报告2020版.pdf
- 山东省济宁市地方一般公共预算收入-各项税收收入3年数据解读报告2020版.pdf
- 四川省广元市地方一般公共预算-各项税收收入综合情况3年数据解读报告2020版.pdf
- 云南省迪庆香格里拉-猪、牛、羊、家禽存出栏和肉产量综合情况3年数据洞察报告2020版.pdf
- 山东省临沂市企业信息化及电子商务情况3年数据分析报告2019版.pdf
- 河南省周口市普通初中专任教师、在校学生具体情况3年数据解读报告2020版.pdf
- 重庆市限额以上住宿业企业具体情况3年数据专题报告2020版.pdf
文档评论(0)