- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言程序设计(第五章12-22)
5.4指针变量的运算 5.4.2 加减算术运算 5.4.3 两指针变量进行关系运算 5.5 指针和数组 5.5.2 通过指针引用数组元素 5.5.3 通过指针引用数组元素时应注意的几个问题 3、 指向数组的指针变量 5.6 指向字符串的指针变量 5.6.2 使用字符串指针变量与字符数组的区别 5.7 指向指针的指针变量 for (i=0;*(p1+i)!=‘\0’;i++) { for (p2=s2;*p2!=‘\0’;p2++) while(*(p1+i)==*p2) { strcpy(s1[i],s1[i+1]); i--; } } printf(“result is :%s”,s1); } 一级指针:指针变量中存放目标变量的地址 例 int *p; int i=3; p=i; *p=3; i 3 P(指针变量) i(整型变量) 一级指针 单级间接寻址 通过指针引用数组元素实现一位数组的反序输出 #define N 5 main() { int x[N],*p=x,*q=x+N-1,j,t; clrscr(); for (j=0;jN;j++) scanf(“%d”,p+j); for ( ;pq ; p++,q--) { t=*p; *p=*q; *q=t; } for (j=0,p=x;jN;j++) printf(“%d”,*(p+j)); } 0 1 2 3 4 5 6 7 8 9 10 11 int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}} 5.5.4 指向二维数组的指针 1、二维数组和数组元素的地址 0 1 2 4 3 6 5 8 7 9 10 11 1000 1008 1016 a[0] a[1] a[2] (1)从2维数组角度看,数组名a代表整个二维数组的起始地址, 是一个以行为单位进行控制的行指针: ·a+i:行指针值,指向2维数组的第i行,代表第i行的首地址。 a a+1 a+2 (2)从1维数组角度看,数组名a和第1维下标的每一个值, 共同构成一组新的1维数组名a[0]、a[1]、a[2],它们均由4个元素组成。 C语言规定:数组名代表数组的地址,所以a[i]是第i行1维数组的地址, 它指向该行的第0列元素,是一个以数组元素为单位进行控制的列指针: ·a[i]+j:(列)指针值,指向数组元素a[i][j]。 ·*(a[i]+j):表示数组元素a[i][j]的值。 如果有“int a[3][4],*p=a[0];”,则p+1指向下一个元素 用p作指针访问数组元素a[i][j]的格式: *(p+(i*每行列数+j) ) ·*(a+i):(列)指针值,指向第i行第0列(控制由行转为列,但仍为指针),表示一维数组第0列的元素地址。 ·*(*(a+i)):表示数组元素a[i][0]的值。 用a作指针访问数组元素a[i][j]的格式: *(*(a+i)+j) 例:通过指向数组元素的指针输出二维数组的各元素。 main() { int a[3][2]={1,2,3,4,5,6},*pa; clrscr(); for( pa=a[0][0];paa[0][0]+6;pa++) printf(“%d”,*pa); getch(); } 用不同的表示方法输出二维数组a每行的起始地址和每行的起始单元的值。 #include stdio.h void main() { int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; printf(“a[0][0]:a----%p\n”,a); printf(“*(a+0)---- ---%p\n”,*a); printf(“a[0]---- ---%p\n”,a[0]); printf(“a[0]---- ---%p\n”,a[0]); printf(“a[0][0])---- ---%p\n”,a[0][0]); printf(“a[0][0]---- %d\n”,a[0][0]); printf(“*(a[0]+0)---- %d\n”,*(a[0]+0)); printf(“*(*(a+0)+0)--- %d\n”,*(*(a+0)+0)); printf(“a[1]
您可能关注的文档
最近下载
- 高职高考语文复习 现代文阅读 第二章 文学作品阅读 课件.pptx VIP
- 闭合电路欧姆定律习题(含答案) .doc VIP
- 记叙文阅读寒假专练-2024-2025学年初中语文统编版八年级上册.docx VIP
- 高速公路隧道运营安全风险评估研究.pdf VIP
- 2024-2025学年初中体育与健康七年级全一册(2024)人教版(2024)教学设计合集.docx
- 2025年安徽长丰科源村镇银行员工招聘8人笔试备考试题及答案解析.docx VIP
- 幼儿园消防安全培训.ppt VIP
- XX电力建设公司标准建设《纪检监察手册》含流程图.docx VIP
- 医院装修改造工程施工组织设计.doc VIP
- 闭合电路欧姆定律习题.doc VIP
原创力文档


文档评论(0)