第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)

2023-08-08
| 15页
| 131人阅读
| 1人下载
精品

内容正文:

第8章 指针 本章内容 8.1指针与指针变量 8.2 指针与数组 8.3 指针与字符串 8.4指针与函数 8.5命令行参数 8.6指向指针的指针变量 8.7综合案例 8.2.2二维数组的指针表示法 二维数组地址的表示方法 a[0][0]可以表示为*(a[0]+0)或*(*(a+0)+0) 图8.6 二维数组的地址表示 程序举例 【例8.6】用指针方式输入输出二维数组各元素。 #include <stdio.h> main( ) { int a[3][4]; int i,j; printf(“ Please input 12 numbers:”); for(i = 0; i<3; i++) for(j = 0; j<4; j++) scanf("%d",a[i]+j); /*第i行第j列元素的地址*/ printf(“ ”); for(i = 0; i<3; i++) { for(j = 0; j<4; j++) printf("%4d",*(*(a+i)+j)); /* *(*(a+i)+j)表示第i行第j列元素*/ printf(" "); } } 二维数组元素值的表示方法 (1)下标表示方法: a[i][j]; (2)指针表示方法: *(*(a+i)+j); (3)行数组用下标表示方法: *(a[i]+j); (4)列用下标表示方法: (*(a+i))[j]; 指向二维数组的指针变量 指向数组元素的指针变量 【例8.7】用指向二维数组的指针方法输入输出二维数组各元素。 #include<stdio.h> main( ) { int a[3][4],*p; int i,j; p = a[0]; printf(“ Please input 12 numbers:”); for(i = 0; i<3; i++) for(j = 0; j<4; j++) scanf("%d", p++); /*指向二维数组的指针表示方法*/ p = a[0]; printf(" "); for(i = 0; i<3; i++) { for(j = 0; j<4; j++) printf("%4d", *p++); printf(" "); } } 行指针 行指针定义的一般形式为: 类型说明符 (*指针变量名)[长度]; 例如: int (*p)[4]; p是一个指针变量,它指向包含4个元素的一维数组 程序举例 【例8.8】用指向一维数组的行指针实现二维数组的输出。 main() { int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; int (*p)[4]; int i,j; p=a; for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%4d",*(*p+j)); /*输出当前行的第j列元素*/ p++; /* 指向下一行 */ printf(" "); } } 8.3 指针与字符串 字符串的指针表示方法 char c[]=”Hello”; 指向字符串的指针的定义形式为: char *指针变量名; 例如: char c[]=”hello”; char *p=c; 程序举例 【例8.9】编写程序,利用指针的方式,将一个字符串中的指定字符替换为另一个字符。 图8.7 字符数组存储方式 #include <stdio.h> #include <string.h> main() { char s[80],c1,c2; char *p=s; printf(" Please input a string :"); gets(s); printf(" Please input c1,c2:"); scanf("%c,%c",&c1,&c2); while(*p!='\0') /*遍历字符串*/ { if(*p==c1) /*判断当前字符是否为c1*/ *p=c2; p++; /*指向下一个字符地址*/ } puts(" result:"); puts(s); } 程序举例 【例8.10】用指向字符串的指针变量实现两个字符串的合并功能 #include <stdio.h> #include <string.h> main( ) { char s1[50],s2[20]; char *ps1=s1,*ps2=s2;

资源预览图

第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)
1
第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)
2
第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)
3
第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)
4
第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)
5
第8章指针 8.3指针与字符串《C语言程序设计》同步教学课件(电子工业出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。