指针数组和指向指针的指针.ppt

指针数组和指向指针的指针.ppt

ID:48784739

大小:339.00 KB

页数:35页

时间:2020-01-27

指针数组和指向指针的指针.ppt_第1页
指针数组和指向指针的指针.ppt_第2页
指针数组和指向指针的指针.ppt_第3页
指针数组和指向指针的指针.ppt_第4页
指针数组和指向指针的指针.ppt_第5页
资源描述:

《指针数组和指向指针的指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、§10.3指针数组和指向指针的指针10.3.1指针数组指针数组数组的每个元素均存放地址,即每个元素是一个指针变量格式类型标识符*数组名[数组长度]例如int*p[4];定义了p是数组,有4个元素,每个元素均为整型指针变量操作指针数组的元素使用同单个指针变量。1例10-9指针数组示例main(){inti=1,j=2,k=3,m=4;int*p[4],n;p[0]=&i;p[1]=&j;p[2]=&k;p[3]=&m;for(n=0;n<4;n++)printf("%d",*p[n]);for(n=0;n<4;n++)printf("%x",p[

2、n]);}1234&i&j&k&mijkmpp[0]p[1]p[2]p[3]输出1234i、j、k、m的地址2例10-10写出下列程序的运行结果voidmain(){inti=1,j=2,k=3,m=4,n,t;int*p[4],*pt;p[0]=&i;p[1]=&j;p[2]=&k;p[3]=&m;pt=p[0];p[0]=p[3];p[3]=pt;for(n=0;n<4;n++)printf("%d",*p[n]);printf("");p[0]=&i;p[1]=&j;p[2]=&k;p[3]=&m;t=*p[0];*p[0]=*p[3

3、];*p[3]=t;for(n=0;n<4;n++)printf("%d",*p[n]);printf("");}运行结果如下:423142311234&i&k&j&mijkmpp[0]p[1]p[2]p[3]1234&m&k&j&iijkmpp[0]p[1]p[2]p[3]输出:4231输出:42311234&m&k&j&iijkmpp[0]p[1]p[2]p[3]310.3.2指向指针的指针变量指向指针的指针变量一个指针变量指向另一个指针变量如设i为整型变量,p为指针变量,pp为指向指针的指针变量a=10;p=&a;pp=&p;则ppp

4、&aa10指向指针的指针变量的定义格式类型标识符**指针变量名;如int**pp;char**gg;使用时有三种形式pp,*pp,**pppp表示指向指针的指针变量的地址值如&p*pp表示指向指针变量的地址值如&a**pp表示指向指针变量所指单元的值如10&p4例10-11写出运行结果#includevoidmain(){inta,*p,**pp;p=&a;pp=&p;a=10;printf("a=%d,*p=%d,**pp=%d",a,*p,**pp);**p=20;printf("a=%d,*p=%d,**pp=%d

5、n",a,*p,**pp);**pp=30;printf("a=%d,*p=%d,**pp=%d",a,*p,**pp);}运算输出a=10,*p=10,**pp=10ppp&aa&p*pp**ppa=20,*p=20,**pp=20a=30,*p=30,**pp=305例10-12对如下变量定义和初始化,依次执行操作(1)~(3)后,请分析部分变量的值。inta=10,b=20,t;int*pa=&a,*pb=&b,*pt;int**ppa=&pa,**ppb=&pb,**ppt;操作(1):ppt=ppb;ppb=ppa;ppa=ppt

6、;ppbpb&bb20&pbppapa&aa10&pa**ppa**ppb*pa*pbab102010201020ppbpb&bb20&pbppapa&aa10&pa**ppa**ppb*pa*pbab201010201020ppbpb&bb20&pa&a10&pbppapaa6再操作(2):pt=pb;pb=pa;pa=pt;ppbpb&bb20&pappapa&aa10&pb**ppa**ppb*pa*pbab102020101020再操作(3):t=b;b=a;a=t;**ppa**ppb*pa*pbab201010202010ppbpb

7、&ab20&pappapa&ba10&pbppbpb&ab20&pappapa&ba10&pbppbpb&ab10&pappapa&ba20&pb7间接访问利用指针变量访问另一个变量利用指针变量访问一个变量值,称为间接访问,叫单级间址利用指向指针的指针变量访问一个变量值称为间接的间接访问,叫二级间址。依次类推可以延伸更多的多级间址。指针变量地址变量变量值单级间址指针变量地址2变量变量值二级间址指向指针的指针地址1指针变量地址3变量变量值三级间址指向指针的指针地址2指向指针的指针的指针地址18例main(){inti,*q,**p,***s;i=

8、10;q=&i;p=&q;s=&p;printf("s=%o",s);printf("*s=%o",*s);printf("**s=%o"

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

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

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