- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
C语言湖北职业技术学院单元9CHAPTER子目录SUBDIRECTORYCHAPTER*C语言湖北职业技术学院程序设计语言(C语言)指向二维数组的指针指向二维数组的指针上一讲,我们学习了指向一维数组的指针的用法,其实在日常生活中,二维数组也用途非常广泛,比如:统计多名学生多门课程的成绩、打印杨辉三角等。一、问题引入指向二维数组的指针计算二维数组的每一行的平均值,并保存到一维数组中。二、任务描述指向二维数组的指针三、相关知识a是二维数组名,数组a中含有3个一维数组组成的行元素a[0]、a[1]和a[2],而a[0]、a[1]、a[2]又分别是三个一维数组的起始地址,它们分别包含4个列元素。1、二维数组的地址:定义一个3行4列的二维数组:inta[3][4]={{0,1,2,3},{42,21,1,13},{40,63,32,39}};指向二维数组的指针三、相关知识a+i是按行的空间来变化的,按行变化的地址称为行地址。a+0、a+1、a+2所指目标a[0]、a[1]、a[2]分别代表各行元素的首地址,即a[0]、a[1]、a[2]可以看成另一个一维数组的数组名,每个一维数组包含4个元素指向二维数组的指针三、相关知识(1)使用指向数组元素的指针变量处理二维数组#includestdio.hvoidmain(){inti,j,*p;inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};p=a[0][0];/*使指针变量指向二维数组首地址*/2、指向二维数组的指针变量根据二维数组的地址关系,建立指向二维数组的指针,通过指针访问二维数组。for(i=0;i3;i++)/*通过循环输出所有元素*/{for(j=0;j4;j++)printf(%5d,*p++);printf(\n);}}指向二维数组的指针三、相关知识(1)行指针访问二维数组#includestdio.hvoidmain(){inti,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[4];/*定义一个指向4个整型数据的指针变量p*/p=a;/*将二维数组的第0行首地址赋给p*/2、指向二维数组的指针变量根据二维数组的地址关系,建立指向二维数组的指针,通过指针访问二维数组。for(i=0;i3;i++){for(j=0;j4;j++)printf(%5d,*(*(p+i)+j));/*通过变量p引用,等价于p[i][j]*/printf(\n);}}指向二维数组的指针三、相关知识inti,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[4];/*定义一个指向4个整型数据的指针变量p*/p=a;2、指向二维数组的指针变量根据二维数组的地址关系,建立指向二维数组的指针,通过指针访问二维数组。指向二维数组的指针三、相关知识for(i=0;i3;i++){for(j=0;j4;j++)printf(%5d,*(*(p+i)+j));printf(\n);}2、指向二维数组的指针变量根据二维数组的地址关系,建立指向二维数组的指针,通过指针访问二维数组。当i=0的时候:指向二维数组的指针三、相关知识for(i=0;i3;i++){for(j=0;j4;j++)printf(%5d,*(*(p+i)+j));printf(\n);}2、指向二维数组的指针变量根据二维数组的地址关系,建立指向二维数组的指针,通过指针访问二维数组。当i=1的时候:指向二维数组的指针2、使用指针数组访问二维数组指针数组就是用指向同一数据类型的指针构成一个数组。数组中的每个元素都是指针变量,根据数组的定义,指针数组中每个元素都为指向同一数据类型的指针。指针数组的定义格式为:类型标识*数组名[整型常量表达式];三、相关知识指向二维数组的指针#includestdio.hvoidmain(){int*p[3],i,j;/*定义指针数组p,包含三个指针变量p[0]、p[1]、p[2]*/inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};for(i=0;i3;i++)p[i]=a[i];/*使三个指针变量指向二维数组三行的行首*/for(i=0;i3;i++){for(j=0;j4;j++)/*按行列循环遍历每个数组元素*/printf(%5d,p[i][j]);printf(\n);}三、
文档评论(0)