C语言指针讲解PPT.ppt

C语言指针讲解PPT.ppt

ID:49219483

大小:1.14 MB

页数:141页

时间:2020-02-02

C语言指针讲解PPT.ppt_第1页
C语言指针讲解PPT.ppt_第2页
C语言指针讲解PPT.ppt_第3页
C语言指针讲解PPT.ppt_第4页
C语言指针讲解PPT.ppt_第5页
资源描述:

《C语言指针讲解PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章指针C语言程序设计1本章主要内容地址与指针的概念指针与变量指针与数组指针与字符串指针与函数指针数组指针的指针指针小结2§8.1地址与指针的概念变量的存储例:inti=3;含义:i在内存拥有2字节存储空间i的地址:i所属存储空间第一个单元的地址,记为:&i,假设为0x2000i的值:设为3,记为:i=3关于内存地址3i2000&i3§8.1地址与指针的概念变量的访问用户通过变量名访问例:printf("%d",i);此方式称为直接访问方式内存通过地址访问系统:从变量分配表中查出变量i地址2000内存:读出

2、2000开始2个字节(int型)中的数据总结:只要知道变量的地址即可发出指令访问变量指针:变量的地址关于内存地址3i2000&i4§8.1地址与指针的概念变量的间接访问用户通过变量地址-指针来访问变量方法:定义一个指针变量存放一个变量的地址(指针)通过指针变量中的地址(指针)来访问此变量关于指针5§8.1地址与指针的概念概念:指针变量:用于存放指针(变量的地址)的变量如:变量p指向:当指针变量中存放某个变量地址时,称为该指针变量指向这个变量例:p中存放的是变量i的 地址:0x2000则称:p指向i用途:通过p

3、间接访问i关于指针内存用户数据区变量i变量j变量p360x20002000200230106§8.2指针与变量变量的地址称为这个变量的指针当一个指针变量中存放的是变量的地址时,此指针变量称为指向变量的指针变量7语法形式数据类型*指针变量名;例:int*p说明:指针变量的类型是指针所指变量的类型*是指针变量的标志,不是指针变量名VC环境下指针变量在内存中与unsignedlongint型变量占用同样字节的存储单元指针变量必须确定指向后才能使用,办法是给指针变量赋一个地址值指针与变量指针变量的定义8指针赋值语法形

4、式指针名=地址例:inti,*p;p=&i;注意:“地址”中存放的数据类型与指针类型必须相符floatx;p=&x;不能给指针变量指定地址值p=0x2000;指针变量的赋值指针与变量9指针与变量指针变量的初始化语法形式数据类型*指针名=初始地址;例:inta,*pa=&a;注意事项用于赋初值的变量必须在指针初始化之前已说明过,且变量类型应与指针类型一致可以用已赋初值的指针去初始化另一个指针变量例:int*p=pa;10指针与变量指针变量的引用通过指针变量可以间接访问所指向的变量语法形式*指针变量名例:in

5、ti,*p=&i;*p=3;*:指针运算符,表示所指向变量,优先级和结合性与同单目运算符与i=3等价*pi20002000p3000311指针使用实例#include/*TC8.2-1.C*/voidmain(){int*p;/*定义指针变量p*/inti=10;p=&i;/*确定p指向i*/printf("i=%d",i);/*输出等价的*p和i*/printf("*p=%d",*p);printf("&i=%lx",&i);/*输出p和&i*/printf("p=%lx"

6、,p);*p=15;/*通过*p改变i的值*/printf("i=%d",i);}指针与变量12程序运行的结果是:i=10*p=10&i=12ff78p=12ff78i=15下一页前一页休息休息13指针使用练习#include/*TC8.2-5.C*/voidmain(){inta=3,b=0;int*p=&a;b+=(*p)++;printf("a=%d,b=%d",a,b);}指针与变量运行结果:a=4,b=314指针变量的算术运算指针与整数的加减运算(p+n或p–n)指针p加上

7、或减去整数n,其意义是指针当前指向位置的前方或后方第n个数据的地址。实际位置:p+n*sizeof(指针类型)指针加一,减一运算(p++或p--)指向下一个或前一个数据。注意:y=*px++相当于y=*(px++) (*和++优先级相同,自右向左运算)指针与变量15pa-2pa-1papa+1pa+2pa+3*(pa–2)*pa*(pa+1)*(pa+2)*(pa+3)*(pa–1)short*pa下一页前一页休息休息pa++pa--16pb-1pbpb+1pb+2*(pb-1)*pb*(pb+1)*(pb+

8、2)long*pb下一页前一页休息休息←-p1←-p2则:p2-p1=3p1–p2=-317指针变量的算术运算两个相同类型的指针相减(p2-p1)p2-p1意义是两个指针之间相隔多少个数据实际位置:(p2–p1)/sizeof(指针类型)值为正时p2在p1后面(地址较高),为负时p2在p1前面(地址较低)注意:p1和p2类型必须相同指针与变量18关系运算指向相同类型数据的指针之间可以进行各种关系运算

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

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

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