- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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
您可能关注的文档
最近下载
- 丰田普瑞维亚说明书.docx VIP
- IATF16949供应商管理程序.doc VIP
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战.docx VIP
- 超高层建筑夜景照明工程技术规程.pdf VIP
- 建筑施工企业新入职大学生安全教育培训.pptx VIP
- 安徽省六校教育研究会2024-2025学年高一上学期新生入学素质测试 语文 PDF版无答案.pdf VIP
- 电子负载MANUAL IT8510-UM-CN.pdf VIP
- 电缆敷设施工方案.docx VIP
- 江苏省建设工程施工安全标准化资料.doc VIP
- 国际海运代理-海运流程.pptx VIP
文档评论(0)