- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
授课题目:第11章指针高级应用
教学时数:|4学时|主要授课章节第11章
教学目的、要求:
了解指针的指针、二级指针概念,二级指针的指向化情况。
理解指针数组、数组指针,指针函数、函数指针的区别与联系,理解指针
与二维数组的关系。
掌握上述复杂指针的应用方法,初步应用复杂指针进行程序编写。
教学重点:
指针数组数组指针,指针函数的指向化睛况________________________
教学难点:
指针函数,二级指针的参数传递过程
教学方法和手段:
讲授法、程序演示等,借助于现代教学设施设备,案例教学,辅以程序演示,
再现实验结果,有效地调动学生的学习积极性,促进学生的积极思考,激发学生
的潜能。
教学内容与教学设计:
案例教学设计概况:根据案例程序》分析程序的所涉及到指针的应用情况、
包括指针在二维数组中如何进行参数传递,程序的语法结构、以及算法的流程结
构,字符数组的使用情况》通过程序分析,观察程序的结果情况,掌握二级指针
在数组与函数中的应生情况,搞懂指针参数的地址传递方法,并应用二级指针进
行编程。
教学内容与过程:
二级指针的概念:
指针的指针最终存储的是量,中间指针存储的是量的地址,外面指针存储
的是量地址的地址。
结合案例11-1进行分析总结:
案例分析总结:
**q存储内容就是X,所以输出的就是x的值10,输出语句第三行与第四行代表同
一含义都是X的地址,若果相同,因为p指针就是指向X的,但是输出语句第二行
P,代表的是q指针的指向,是P的地址,是一个间接指针,存储的是量X地址
的地址。结果与后面两行不同。通过上面案例得b结论,一级指针都是存储的是
量的地址,二级指针存储的是量地址的地址。
指针与二维数组的关系
二维数组的各个元素在内存中是按行连续存放的,存放方式与一维数组并
无区别。
行地址:二维数组被看作元素为一维数组的一维数组。
即a被看做由a[0]、a[l]和a[2]组.成。其中:
•a指向a[0]
•a+1指向a[l]
・。+2指向@[2]
列地址:a[0]+0,a[O]+l及a[0]+2所表示的地址,被称为列地址
表达式“*行地址”将获得一个一维数组,C语言中,用一维数组首元素的
地址表示一维数组,因此“*行地址”的结果依然是一个地址。
指针方式访问二维数组:
行列地址作为指针使用时,行地址即为行指针,指向一个一维数组;列地
址即为列指针,用于指向一维数组中的具体元素。
对于任意的二维数组a,访问数组元素的常见等价表达式有三种:
1、a[i][j](下标法)
2、*(a[i]+j)
3、*(*(a+i)+j)(指针法)
二级指针作为函数的参数应用分析:案例11-3
#includestdio.h
inta=10;
intb=100;
int*q;
voidfunc(int**p)//2
(
Hn
printf(func:p=%d.p=%d\np.p);//note:3
*p=b;
printf(func:p越dp二/d\n”pp);//note:4
)
intmain()
{
printfC^a^db或dq二%d\n”,abq);
q=a;
r
printf(*q=%dq=%dq=%d\n*qqq);//note:2
func(q);
printf(*q=%dq=%dq二%d\n*qqq);//note:5
return0;
)
案例分析总结:传了指针q的地址(二级指针*
原创力文档


文档评论(0)