第7章地址和指针(课件)-高二《C语言程序设计》同步教学(中国水利水电出版社 第三版 )

2023-07-02
| 22页
| 101人阅读
| 0人下载
普通

内容正文:

第七章 地址和指针 问题的引入 int a=3; 使用指针有如下好处: 1101aff→ 使程序简洁、紧凑、高效 ↑ 3 有效地表示复杂的数据结构 动态的分配地址 地址表示 得到多于一个的返回值 指针 7.1地址和指针的概念 计算机的内存是以字节为单位的一片连续的存储空间,每一个字节 都有一个编号,这个编号就称为内存的地址。 如果程序中定义了一个变量,C语言 地址 存储单元 变量名 地址 存储单元 的编译系统就会根据定义中的变量,为 100 100 A ch 其分配一定字节数的内存单元 101 101 102 102 103 103 例如: 104 104 char ch 'A'; 105 105 int i=5; 106 106 107 float f 3.8; 107 108 108 109 109 图7-1内存结构 图7-2变三的地址W 指针变量 指针变量的定义 p int i,j,*p; 变量的值 存放的是地址 int i=3 *p; p p=&i; i &i 3 指针变量的引用 printf("%p",p); 假设有如下定义: p=&a; int i=3,a,*p; scanf("%d",p); p=&i; scanf("%d",&a); 3 printf("%d",*p); p &a printf("%d",a); a *p=5; 【例7.1】 下面的程 main() 序是指针变量的引 int i,j,*p,*q; 用,请认真体会引用 scanf("%d,%d",&i,&j); 的方法 p=&i; 9=& &i printf("%p,%pn",&i,p); printf("%p,%pn",&j,q); printf("%d,%dn",i,*p) &i printf("%d,%dn"j q=p; printf("%d,%d ",*p,*q); printf("%d,%d ",i,j); 【例7.2】从键盘输入a和b两个整数,按照从大到 小的顺序输出排序后的结果。 main() { int a=5,b=9; int p,*pa,*pb; printf("%d,%dln",a,b); pa-&a; pb=&b; if(*pa<*pb) p=*pa;*pa=*pb;*pb=p;} printf("%d,%d ",*pa,*pb); } 问题的提出例将数从大到小输出 (main) swap(int x,int y) 2000 int temp; 5 a temp=x; 2002 9 b X=y, 2004 y=temp; swap) 2006 mainO 9 int a,b; 2008 5 scanf("%d,%d",&a &b); 200A if(a<b)swap(a,b); 5 temp printf("n%d,%d n",a,b) 问题的提出例将数从大到小输出 (main) swap(int x,int y) 2000 int temp; 5 a temp=x; 2002 9 b X=y, 2004 y=temp: 值传递 2006 mainO int a,b; 2008 scanf("%d,%d"&a&b): 200A if(a<b)swap(a,b); printf("n%d,%dn",a,b), 运行结果:5 例将数从大到小输出 (main) 2000 swap(int *pl,int *p2) 9 int p, 5 p=*pl; 004 2000 pointer_1 *pl=*p2; 006 2002 pointe 2 *p2=p} 2008 main() 200A swap) p1 int a,b; 200C 2000 2002 p2 int *pointer 1,*pointer 2; 200E 5 scanf("%d,%d",&a &b), 2010 p pointer_1=&a;pointer 2=&b; ia-bswaptpoimter_1,poimter 2), printf(" %od,%d n",a,b),}

资源预览图

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