C语言程序设计(第2版)(王洪海 郑利平)PPT全套完整教学课件.ppt

C语言程序设计(第2版)(王洪海 郑利平)PPT全套完整教学课件.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

7.4.2指针变量在一维数组中的应用运行结果:input10numbers:2241608-10121416356min=-17.4.3指针变量在多维数组中的应用1、二维数组元素地址描述7.4.3指针变量在多维数组中的应用7.4.3指针变量在多维数组中的应用根据上述描述方式,可以得出二维数组地址的描述结论:对于上图,如果将数组名当成一个地址来看,则a代表二维数组的首地址,也可看成是二维数组第0行的首地址。假设数组的首地址为:2000,那么,a的地址应为2000。7.4.3指针变量在多维数组中的应用描述二维数组的地址时,a表示0行首地址,a+1表示1行首地址,a+2表示2行首地址。即它们的首地址分别为:2000、2008、2016。由于每一行由4个整型数组元素组成,所以地址值相差为6。既然把a[0]、a[1]、a[2]看成是3个一维数组名,那么可以认为它们分别代表其所对应的首地址,也就说a[0]、a[1]、a[2]可表示二维数组的0行、1行、2行的首地址。7.4.3指针变量在多维数组中的应用根据上述的关系及指针的描述方式,可推理出如下结论:a[0]表示0行首地址,也是0行0列的地址,相当于a[0][0];那么有,a[0]+1表示0行1列的地址;a[1]+2表示1行2列的地址;一般而言,a[i]+j即表示i行j列的地址,即a[i][j]地址。7.4.3指针变量在多维数组中的应用如用指针的形式来表示各元素的地址,可有如下的等价关系:a[0]与*(a+0)、a[1]与*(a+1)、a[2]与*(a+2)等价,表示二维数组的0行、1行、2行的首地址。推理出:a[i]+j与*(a+i)+j等价,表示二维数组的i行j列的地址。7.4.3指针变量在多维数组中的应用为了更好地掌握二维数组中的地址描述问题,还要注意如下几点的区别:(a+1与*(a+1)的相等问题a和*a的相等问题7.4.3指针变量在多维数组中的应用2.指针变量对二维数组元素的操作7.4.3指针变量在多维数组中的应用【例】使用指针来操作二维数组元素的输入与输出#includestdio.hmain(){inta[3][4],*p;inti,j;p=a[0];for(i=0;i3;i++)for(j=0;j4;j++)7.4.3指针变量在多维数组中的应用scanf(%d,p++);p=a[0];for(i=0;i3;i++){for(j=0;j4;j++)printf(%4d,*p++);printf(\n);}}7.4.3指针变量在多维数组中的应用程序输出结果:1234567891011121234567891011127.4.3指针变量在多维数组中的应用3.指向由m个元素构成的一维数组的指针变量定义方式为:类型标识符(*指针变量名)[长度];其中“类型说明符”为所指数组的数据类型。“*”表示其后的变量是指针类型。“长度”表示二维数组分解为多个一维数组时,一维数组的长度,也即二维数组的列数。需要注意“(*指针变量名)”两边的括号不可少7.4.3指针变量在多维数组中的应用7.4.3指针变量在多维数组中的应用【例】用指向有m个元素一维数组的指针变量输出二维数组任一行任一列元素的值。voidmain(){inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};int(*p)[4];p=a;scanf(“%d,%d”,i,j);printf(“\na[%d][%d]=%d”,i,j,*(*(p+i)+j));}7.4.3指针变量在多维数组中的应用程序输出结果:输入:1,2↙输出:a[1][2]=137.4.3指针变量在多维数组中的应用4.程序举例【例】从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。用指针的描述方式进行操作。#includestdio.hvoidmain(){inta[3][3],sum,*p;inti,j;sum=0;7.4.3指针变量在多维数组中的应用for(i=0;i3;i++){for(j=0;j3;j++)

您可能关注的文档

文档评论(0)

yuzuzou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档