第9章-指针ppt课件(全)

第9章-指针ppt课件(全)

ID:81932948

大小:497.04 KB

页数:47页

时间:2022-07-30

第9章-指针ppt课件(全)_第1页
第9章-指针ppt课件(全)_第2页
第9章-指针ppt课件(全)_第3页
第9章-指针ppt课件(全)_第4页
第9章-指针ppt课件(全)_第5页
第9章-指针ppt课件(全)_第6页
第9章-指针ppt课件(全)_第7页
第9章-指针ppt课件(全)_第8页
第9章-指针ppt课件(全)_第9页
第9章-指针ppt课件(全)_第10页
资源描述:

《第9章-指针ppt课件(全)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第9章指针第9章_指针ppt课件(全)第9章指针(pointer)9.1指针的基本概念9.2指针与一维数组9.3指针与二维数组9.4指针与字符串9.5指针与函数9.6指针数组与多级指针第9章_指针ppt课件(全)9.1指针的基本概念#includevoidmain(){inta=10;floatx=20.5;……}内存中每个字节有一个编号-----地址9.1.1变量的地址及指针地址也称为指针第9章_指针ppt课件(全)8.1.2指针变量1.指针变量的定义inta;intp=&a;或inta,pa=&a;2

2、.指针变量的引用(1)&:取地址运算符(2):指针运算符(或称间接访问运算符)例如:inta=6,pa;…...…...2000200420062005整型变量a6指针变量pa200120022003例如:inta=6,pa;pa=&a;2000例如:inta=6,pa;pa=&a;pa=28;28第9章_指针ppt课件(全)【例9.0】使两个指针变量交换指向。#includevoidmain(){inta=10,b=20,p1=&a,p2=&b,p;printf("a=%d,b=%d,p1=%d,p2=

3、%d",a,b,p1,p2);p=p1;p1=p2;p2=p;printf("a=%d,b=%d,p1=%d,p2=%d",a,b,p1,p2);}运行结果如下:a=10,b=20,p1=10,p2=20a=10,b=20,p1=20,p2=10第9章_指针ppt课件(全)3.使用指针应注意的几种情况(1)在指针变量中只能存储地址,例如:inta,p,q;p=2000;/不正确/q=&a;/正确/(2)语句“inta,p=&a;”与“inta,p;p=&a;”是等价的但“inta,p;p=&a;”中的赋值语句是错误

4、的。(3)悬挂指针指针变量的值不确定的指针称为悬挂指针。如:intp;p=56;第9章_指针ppt课件(全)9.1.3指针运算1.指针之间的赋值运算2.指针与整数的加、减运算3.指针相减运算4.指针之间作关系运算例如:floatx,p1,p2=&x;p1=p2;例如:inta[4]={10,11,12,13},pa;pa=a;pa=pa+1;如果两个指针指向同一数组的元素上,则两指针相减,其绝对值的物理意义是两指针间相距多少个元素。指针间作关系运算,可以判断指针是否指向同一数组或同一元素上。第9章_指针ppt课件(全)9.

5、1.4指针作为函数的参数【例9.1】编写函数swap1,交换两个变量的值。#includevoidmain(){floata,b;voidswap1(floatx,floaty);scanf("%f%f",&a,&b);swap1(&a,&b);printf("a=%.1fb=%.1f",a,b);}voidswap1(floatx,floaty){floatt;t=x;x=y;y=t;}程序运行情况:3.45.6↙a=5.6b=3.4第9章_指针ppt课件(全)9.2指针与一维数组9.2.1一维数组

6、元素的表示1.下标表示法和指针表示法inta[5]={10,11,12,55,14};下标表示法:a[i]指针表示法:(a+i)第9章_指针ppt课件(全)【例9.补充】查看数组元素的地址及数组元素的值。#includevoidmain(){inti,a[4]={10,11,12,13};for(i=0;i<4;i++)printf("%x,%d",a+i,(a+i));}运行结果:ffd2,10ffd4,11ffd6,12ffd8,13第9章_指针ppt课件(全)2.用指针变量引用一维数组元素【例9

7、.2】用指针变量给数组赋值,输出各元素值及其和。#includevoidmain(){inta[10],i,j,s;intp;for(p=a;p

8、使它与数组中的第1个元素的值交换位置,其余数据位置不变,并输出该组数。#includevoidmain(){inti,t,a[5],p,max;for(i=0;i<5;i++)scanf("%d",a+i);max=a;for(p=a+1;p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。