第8章指针 8.4指针与函数 8.5命令行参数 8.6指向指针的指针变量 8.7综合案例《C语言程序设计》同步教学课件(电子工业出版社)

2023-08-08
| 19页
| 106人阅读
| 1人下载
精品

内容正文:

第8章 指针 本章内容 8.1指针与指针变量 8.2 指针与数组 8.3 指针与字符串 8.4指针与函数 8.5命令行参数 8.6指向指针的指针变量 8.7综合案例 8.4指针与函数 8.4.1指针作为函数的形参 指向变量的指针作为函数的形参 #include <stdio.h> void add(int a) { a++; } main() { int b=5; add(b); printf("b=%d",b); } #include <stdio.h> void add(int *a) { (*a)++; } main() { int b=5; add(&b); printf("b=%d",b); } 注意事项 当形参为指针变量时,其对应的实参可以是指针变量或存储单元地址 当形参为指针变量时,在函数体内如果修改传递过来的存储地址的内容,会影响实参的值 当形参为指针变量时,在函数体内如果修改指针形参传递过来的存储地址,不会改变实参指向的地址 #include <stdio.h> void swap(int *a,int *b) { int *t; t=a; a=b; b=t; } main() { int a=5,b=6; int *pa,*pb; pa=&a; pb=&b; swap(pa,pb); printf(" *pa=%d,*pb=%d ",*pa,*pb); } 运行上面的程序,输出结果为: *pa=5,*pb=6 #include <stdio.h> void swap(int *a,int *b) { int t; t=*a; *a=*b; *b=t; } main() { int a=5,b=6; int *pa,*pb; pa=&a; pb=&b; swap(pa,pb); printf(" *pa=%d,*pb=%d ",*pa,*pb); } 运行上面的程序,输出结果为: *pa=6,*pb=5 程序举例 【例8.12】编写一个函数计算一个数组中的最大值和最小值。 #include <stdio.h> void maxmin(int a[],int n,int *max,int *min) { int i; int tmax; /*用来保存最大值*/ int tmin; /*用来保存最小值*/ tmax=a[0]; tmin=a[0]; for(i=0;i<n;i++) { if(tmax<a[i]) tmax=a[i]; else if(tmin>a[i]) tmin=a[i]; } *max=tmax; *min=tmin; } main() { int a[10]; int i; int max,min; printf(" Please input 10 numbers:"); for(i=0;i<10;i++) scanf("%d",&a[i]); maxmin(a,10,&max,&min); printf(" max=%d,min=%d ",max,min); } 指向数组的指针作为函数的形参 【例8.13】编写程序,用户输入一个字符串s,将字符串s中下标为奇数的字符删除。例如,当s所指字符串中的内容为siegAHdied,则删除后数组中的内容应是seAde。(主要功能用函数实现) #include <stdio.h> void deletechar(char *s) { char *p; int i=0; p=s; /*p初始化为字符串首地址*/ while(*p!='\0') { if(i%2==0) { *s=*p; s++; } p++; i++; } *s='\0'; } main() { char s[80]; printf(" Please input a string:"); gets(s); deletechar(s); puts(" After deleted:"); puts(s); } 指针数组作为函数的形参 【例8.14】将5个国名按字母顺序排序后输出。 #include"string.h" main() { void sort(char *name[],int n); void print(char *name[],int n); char *name[]={ "CHINA","AMERICA","AUSTRALIA","FRANCE","GERMAN"}; int n=5; sort(name,n); print(name,n); } void sort(char *name[],int n) { char *pt

资源预览图

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