指针和指针变量(第17课).ppt

指针和指针变量(第17课).ppt

ID:55648583

大小:240.00 KB

页数:22页

时间:2020-05-22

指针和指针变量(第17课).ppt_第1页
指针和指针变量(第17课).ppt_第2页
指针和指针变量(第17课).ppt_第3页
指针和指针变量(第17课).ppt_第4页
指针和指针变量(第17课).ppt_第5页
资源描述:

《指针和指针变量(第17课).ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、学习内容第五章指针1.理解指针和指针变量2.理解指针与数组3.指针与函数4.C51语言中的指针应用指针作用正确的使用指针类型数据,可以有效地表示复杂的数据结构,直接处理内存地址,可以更有效合理的使用数组。一、指针和指针变量voidmain(){floatx=3.14;inty=25;…}变量的两个物理意义:(1)变量的地址(2)变量的内容200020012002200320042005…xy变量的内容变量的地址3.1425变量的地址:指编译器为变量所分配的存储区域的首地址。变量的内容:指变量所对应的存储区域的内容,即变量的值。vo

2、idmain(){inta,b,c;a=5;b=3;c=a+b;…}303132333435abc5直接将整数5存入变量a3直接将整数3存入变量b8直接将变量a、b的值取出,相加后存入变量c利用变量名存取数据的方式称为“直接访问”方式。1、利用变量名对存储单元进行访问一、指针和指针变量一、指针与地址的关系单片机程序中的常量和变量都要存放在以字节为单位的内存单元中。单片机是按照地址来访问该单元的内容的。如果将欲访问单元的地址存放在另一个单元中,访问时先找到存放地址的单元,才能找到需要访问的单元,这种“间接访问”方式需要用到指针。指针

3、数据类型:是专门用来存放其他数据类型地址的。p200020012002200320042005200620072008abc532004a和b相加的结果(*p=a+b)存放到变量p所指向的内存单元中去。此时c称为指针变量p的目标变量。p2004cp=&c8voidmain(){inta=5,b=3,c,*p;p=&c;*p=a+b;…}●变量的地址称为变量的指针●存放地址的变量称为指针变量2、利用指针对存储单元进行访问—间接访问方式一、指针和指针变量voidmain(){inta,*p=&a;floatx,*q=&x;…}2000

4、200120022003200420052006200720082009apxq20042000voidmain(){inta,*p;floatx,*q;p=&a;q=&x;…}指针变量定义的形式指针变量初始化类型标识符*指针变量名;&--取地址运算符一、指针和指针变量voidmain(){inta,*p=&a;floatx,*q=&x;*p=5;printf("a+3=%d",*p+3);…}1、间接存取运算2000200120022003200420052006200720082009apxq20042000*p=&a;×

5、voidmain(){inta,*p1,*p2;floatx,*q;p1=&a;q=&x;p2=p1;…}2、赋值运算5*--取内容运算符(间接访问运算符)一、指针和指针变量例:有个整型变量n存放在内存单元60H中,则该内存单元地址60H,就是变量n的指针。指针变量概念:如果一个变量专门用来存放另一个变量的地址,则该变量称为指针变量。二、指针变量的定义指针变量必须先定义后使用。定义的一般形式为:数据类型[存储器类型]*指针变量名;数据类型为指针变量所指向的变量的类型。指针变量名为定义的指针变量的名字。存储器类型为可选项,默认为三个

6、字节,idata、data、pdata为一个字节,code为两个字节。例:int*pt;定义一个指向对象类型为int的一般指针,指针长度为3个字节。chardata*pa;定义一个指向对象类型为char的基于data的指针,指针长度为1个字节。注意:变量的指针:即变量的地址。指针变量:一个变量里面存放另一个变量的地址。每一个变量都有它自己的指针(地址)。每一个指针变量都是指向另一个变量的地址。“*”表示指向。三、指针变量的引用指针变量中只能存放地址。在C51中,变量的地址和指针变量的地址都是不可见的。“&”取地址运算符。例:int

7、t;int*pt;pt=&t;使用“&”和“=”就可以使一个指针变量指向一个变量。完成变量、指针变量的定义及指针变量的引用后,就可以对内存单元进行间接访问了。例:将整形变量t的值赋给变量x.x=t;直接访问int*pt;pt=&t;x=*pt;例四、数组指针数组及其元素同样占有存储单元,都有相应的地址,指针也可以指向数组。指向数组的指针是数组的首地址。指向数组元素的指针则是数组元素的地址。例:定义一个数组x[8]和一个指向数组的指针变量px.Intx[8];Int*px;;此时数组和指针变量没有关系。若px=&x[0];则指针变量

8、即指向数组x[]。C语言规定,数组名代表数组的首地址,即第一个数组元素的地址。五、指针变量的运算Intx[8];Int*px;px=&x[0];1、px++;将指针变量px指向下一个数组元算x[1];2、*px++;等价于*(px++)。3、*++

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

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

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