网站大量收购独家精品文档,联系QQ:2885784924

[理学]c语言课件8.ppt

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

main() { int n,i,j,k,x,a[10]; int *p=a; for(i=0; i10;i++) scanf(%d,p+i); for(k=1;k10;k++) for(j=9,i=0;i10-k;i++,j--) if(*(p+j)*(p+j-1)) { x=*(p+j); *(p+j)=*(p+j-1); *(p+j-1)=x;} for(i=0;i10;i++) printf(%5d,*(p+i)); printf(\n); } 例6 用一维数组的指针解决冒泡法排序问题。 二、指针与二维数组 1、二维数组的地址 对于一维数组: (1)数组名array表示数组 的首地址,即array[0] 的地址; (2)数组名array是地址 常量; (3)array+i是元素 array[i]的地址; (4)array[i]?*(array+i) array int array[10]; 对于二维数组: 1)a是数组名, 包含三个元 素a[0],a[1], a[2]; 2)每个元素a[i] 又是一个一维 数组,包含4 个元素。 a a+1 a+2 *(*(a+0)+1) *(a[0]+1) int a[3][4]; a[0]+1 a[1]+1 a[2]+1 *(a+0)+1 *(a+1)+1 *(a+2)+1 a[0] a[1] a[2] 2000 2008 2016 a[0][0] a[0][3] a[1][0] a[1][1] a[2][0] a[2][1] a[0][1] a[0][2] a[1][2] a[1][3] a[2][2] a[2][3] 2000 2002 2008 2010 2016 2018 行指针与列指针 a[0][0] a[0][3] a[1][0] a[1][1] a[2][0] a[2][1] a[0][1] a[0][2] a[1][2] a[1][3] a[2][2] a[2][3] 2000 2008 2016 a[0] a[1] a[2] 2000 2008 2016 a a+1 a+2 *(a[i]+j)?*(*(a+i)+j) ?a[i][j] a:二维数组的首地址, 即第0行的首地址。 对二维数组 int a[3][4], 有: a+i:第i行的首地址。 a[i]?*(a+i):第i行第 0列的元 素地址。 a[i]+j?*(a+i)+j: 第i行第j列 的元素地址。 a[0][0] a[0][3] a[1][0] a[1][1] a[2][0] a[2][1] a[0][1] a[0][2] a[1][2] a[1][3] a[2][2] a[2][3] 2000 2008 2016 a[0] a[1] a[2] 2000 2008 2016 a a+1 a+2 注: (1)a+i=a[i]=a[i][0] =*(a+i)=a[i] 值相等,含义不同 (2)a+i ? a[i],表示 第i行首地址,指向 行。 (3)a[i]?*(a+i) ? a[i][0], 表示第i行第0列元 素地址,指向列。 a[0][0] a[0][3] a[1][0] a[1][1] a[2][0] a[2][1] a[0][1] a[0][2] a[1][2] a[1][3] a[2][2] a[2][3] int a[3][4]; 地址表示: (1) a+1 (2) a[1][0] (3) a[1] (4) *(a+1) (5) (int *)(a+1) 地址表示: a[1][2] (2)*(a+1)+2 (3)a[1]+2 (4)a[0][0]+1*4+2 二维数组元素表示形式: (1)a[1][2] (2)*(a[1]+2) (3)*(*(a+1)+2) (4)*(a[0][0]+1*4+2) 行指针 列指针 表示形式 含 义 地 址 a 二维数组名, 数组首地址 a[0],*(a+0),*a 第0行第0列元素地址 a+1 第1行首地址 a[1],*(a+1) 第1行第0列元素地址 a[1]+2,a[1][2], *(a+1)+2 第1行第2列元素地址 *(a[1]+2),a[1][2], *(*(a+1)+2) 第1行第2列元素值 2

文档评论(0)

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

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

1亿VIP精品文档

相关文档