c语言程序设计完整版ppt全套电子教案整套教学教程(必威体育精装版).ppt

c语言程序设计完整版ppt全套电子教案整套教学教程(必威体育精装版).ppt

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

9.2?指针与数组 要注意:a是二维数组名,代表数组首地址,但是不能企图用*a来得到a[0][0]的值。*a相当于*(a+0),即a[0],它是第0行地址(本次程序运行时输出a、a[0]和*a的值都是158,都是地址。每次编译分配的地址是不同的)。a是指向一维数组的指针,可理解为行指针,*a是指向列元素的指针,可理解为列指针,指向0行0列元素,**a是0行0列元素的值。同样,a+1指向第1行首地址,但也不能企图用*(a+1)得到a[1][0]的值,而应该用**(a+1)求a[1][0]元素的值。 上一页 下一页 返回 9.2?指针与数组 2.指针变量指向二维数组中的一维数组???? 在前一章我们曾介绍过,二维数组可看成由若干个一维数组构成。例如:???? int a[3][4]; a是一个数组名。a数组包含3行,即3个元素:a[0],a[1],a[2]。而每一元素又是一个一维数组,它包含4个元素(即4个列元素),例如,a[0]所代表的一维数组又包含4个元素:a[0][0],a[0][1],a[0][2],a[0][3]。???? 因此,我们可以定义一个指针变量,专门用来指向二维数组中的一维数组,然后用这个指针变量来引用或处理二维数组中的某个一维数组元素。 上一页 下一页 返回 9.2?指针与数组 (1) 指向二维数组中某个一维数组的指针变量的定义???? 若将指针变量指向二维数组中某个一维数组,则指针变量定义格式为: ? ?(*指针变量)[m]???/*m为二维数组的列数*/ 然后再用初始化方式或程序中赋值方式将指针变量指向二维数组的首地址,即 ?(*指针变量)[m]=二维数组名??(初始化方式)??? ?? 指针变量=二维数组名(赋值方式) 上一页 下一页 返回 9.2?指针与数组 当指针变量指向二维数组的首地址后,则二维数组中第i行对应的一维数组首地址可用下列表达式获得:?? ?? *(指针变量+i)? 注意:???? ①定义这种指针变量时,圆括号不能丢,否则就变成定义指针数组了,即每个数组元素都是指针变量。??? ②m必须是整型常量表达式,其值应等于要指向的二维数组的列长度,即第2维的长度。???? ③对这种指针变量,在初始化或赋值时应赋予列长度为m的二维数组的首地址,然后再通过表达式方式获得二维数组中某个一维数组的首地址。 上一页 下一页 返回 9.2?指针与数组 (2) 二维数组元素的引用方法???? 当指向二维数组中的一维数组的指针变量被赋予二维数组的首地址后,就可以引用二维数组中的一维数组元素。引用格式如下:? ?? 元素地址??*(指针变量+i)+j??? ? 元素引用??*(*(指针变量+i)+j) 其中,i和j分别为元素在二维数组中所处的行下标和列下标。而*(指针变量+i)是行下标i对应的一维数组首地址。例如:?? int a[3][4], (*p)[4]=a; 上一页 下一页 返回 9.2?指针与数组 这里定义二维数组a[3][4]和指向含有4个元素的一维数组指针变量p,并使p指向二维数组a的首地址。则对应二维数组中3个一维数组的首地址为:???? 一维数组a[0]、a[1]和a[2]。???? 用指针变量表示的一维数组的首地址分别为:???? *(p+0)、*(p+1)和*(p+2)。 例9-6?用指针变量输出数组元素的值。???? main( )???? { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int*p; 上一页 下一页 返回 9.2?指针与数组 for(p=a[0];pa[0]+12;p++)???? ? ?{if((p-a[0])%4==0)printf(″\n″);???? printf(″%4d″,*p);???? ?? }???? }???? 运行结果如下: 上一页 下一页 返回 9.2?指针与数组 p是一个指向整型变量的指针变量,它可以指向一般的整型变量,也可以指向整型的数组元素。每次使p值加1,以移向下一元素。if语句的作用是使一行输出4个数据,然后换行。???? 例9-7?输出二维数组任一行任一列元素的值。???? main( )???? { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int(*p)[4],i,j; p=a; scanf(″i=%d,j=%d″,i,j); printf(″a[%d,%d]=%d\n″,i,j,*(*(p+i)+j));???? } 上一页 下一页 返回 9.2?指针与数组 运行情况如下:???? i=1,j=2????(本行为键盘输入)???? a[1,2]=13???? 注意,应输入“i

文档评论(0)

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

教师资格证持证人

全网 内容最全课件 价格最低 质量最高 不是之一,是唯一。 每个人使用的办公软件版本不一样,如有个别显示不出的文件,建议使用必威体育精装版版。

版权声明书
用户编号:8070063100000015
领域认证该用户于2023年03月20日上传了教师资格证

1亿VIP精品文档

相关文档