数组的指针和指向数组的指针变量(1) - 九江学院.pptVIP

数组的指针和指向数组的指针变量(1) - 九江学院.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指向多维数组的指针(1) 指向多维数组的指针(2) 指向多维数组的指针(3) 指向多维数组的指针(4) 指向多维数组的指针(5) 指向数组的指针变量(1) 指向数组的指针变量(2) 字 符 数 组 和 字 符 指 针 变 量(2) 数组和指针(1) 概述: 指针是一个地址量,存放的是地址。 数组名代表数组的首地址: 例:设有一个一维数组x和一个指针px: int x[10],*px; px=x[0]; px=x[0]; px=x; 等价 注意: 数组x不代表整个数组,上述“px=x;”的作用是“把x数组的 首地址(恰好是 x[0] 的地址 )赋给指针变量px”,而不是“把 数组x各元素的值赋给px”。 数组和指针(2) 等价于:int *p; p=a[0]; /*注意:不是*p=a[0];*/ 或 int *p=a; 3、 在定义指针变量时可以赋给初值: int *p=a[0]; 数组和指针(3) int x[10],*px; px=x; 1、px+i和x+i就是x[i]的地址;px+i是数组的第 i个元素的地址。(而不是将px简单地加1) 2、*(px+i)或*(x+i)是px+i或x+i所指向的数组元 素 即x[i]; 3、指针和数组名虽然都是地址量,但不能对数 组名 进行赋值,却可以对指针赋值。 如: px=x[i]; 而 x=px; 是错的。 例1 输出数组中的全部元素。 (1)下标法 main() { int a[10]; int i; printf(“\nInput data:\n”); for (i=0;i10;i++) scanf(“%d”,a[i]); for (i=0;i10;i++) printf(“%2d”,a[i]); } (2)通过数组名计算数组元素地址,找出元素的值。 main() { int a[10]; int i; printf(“\nInput data:\n”); for (i=0;i10;i++) scanf(“%d”,a+i); for (i=0;i10;i++) printf(“%2d”,*(a+i)); } (3)用指针变量指向数组元素。(指针法) main() { int a[10],*p,i; printf(“\nInput data:\n”); for (i=0;i10;i++) scanf(“%d”,a[i]); for (p=a;p(a+10);p++) printf(“%2d”,*p); } 运行情况如下: 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 3.注意: (1)指针变量可以实现本身的值的改变。 (2)要注意指针变量的当前值。 (3)指针变量可以指到数组以后的内存单元。 (4)注意指针变量的运算。 数组和指针(4) main( ) { int a[10],i,*p ; p=a; for(i=0;i10;i++) scanf(%d,p++); printf(\n); for(i=0;i10;i++,p++) printf(%d,*p); } 例如:int a[3][4]; 我们可以将a看成一个一维数组:a[0]、 a[1]、 a[2], 其中每个元素又各是一个包含4个元素的一维数组。 a[0] a a[1] a[2] ---------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] 一、多维数组的地址 int a[3][4] 首地址为 a , 则第 0 行的首地址为a , 第 1 行的首地址为a + 1, … 第 i 行的首地址为a + i ; a[0] 为 * ( a + 0 ) a[1] 为 * ( a + 1 ) a[i] 为 * ( a + i ) 第1 行的第1 列的地址为 *

文档评论(0)

9995553336 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档