




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习内容,第五章指针,1.理解指针和指针变量2.理解指针与数组3.指针与函数4.C51语言中的指针应用,指针作用,正确的使用指针类型数据,可以有效地表示复杂的数据结构,直接处理内存地址,可以更有效合理的使用数组。,一、指针和指针变量,voidmain()floatx=3.14;inty=25;,变量的两个物理意义:(1)变量的地址(2)变量的内容,变量的内容,变量的地址,3.14,25,变量的地址:指编译器为变量所分配的存储区域的首地址。,变量的内容:指变量所对应的存储区域的内容,即变量的值。,voidmain()inta,b,c;a=5;b=3;c=a+b;,303132333435,abc,8,利用变量名存取数据的方式称为“直接访问”方式。,1、利用变量名对存储单元进行访问,一、指针和指针变量,一、指针与地址的关系,单片机程序中的常量和变量都要存放在以字节为单位的内存单元中。单片机是按照地址来访问该单元的内容的。如果将欲访问单元的地址存放在另一个单元中,访问时先找到存放地址的单元,才能找到需要访问的单元,这种“间接访问”方式需要用到指针。指针数据类型:是专门用来存放其他数据类型地址的。,5,3,2004,a和b相加的结果(*p=a+b)存放到变量p所指向的内存单元中去。此时c称为指针变量p的目标变量。,p=p=,变量的地址称为变量的指针存放地址的变量称为指针变量,2、利用指针对存储单元进行访问间接访问方式,一、指针和指针变量,voidmain()inta,*p=,2004,2000,指针变量初始化,类型标识符*指针变量名;,定义一个指向对象类型为int的一般指针,指针长度为3个字节。chardata*pa;定义一个指向对象类型为char的基于data的指针,指针长度为1个字节。,注意:变量的指针:即变量的地址。指针变量:一个变量里面存放另一个变量的地址。每一个变量都有它自己的指针(地址)。每一个指针变量都是指向另一个变量的地址。“*”表示指向。,三、指针变量的引用,指针变量中只能存放地址。在C51中,变量的地址和指针变量的地址都是不可见的。“使用“直接访问int*pt;pt=,例,四、数组指针,数组及其元素同样占有存储单元,都有相应的地址,指针也可以指向数组。指向数组的指针是数组的首地址。指向数组元素的指针则是数组元素的地址。,例:定义一个数组x8和一个指向数组的指针变量px.Intx8;Int*px;此时数组和指针变量没有关系。若px=则指针变量即指向数组x。C语言规定,数组名代表数组的首地址,即第一个数组元素的地址。,五、指针变量的运算,Intx8;Int*px;px=先使px加1,再取出*px的值。,4、(*px)+;表示所指向的元算值加1。5、特别注意:px+1.C规定:px+1指向数组首地址的下一个元素;而不是将指针变量px的值简单地加1.,指针应用举例,指针应用举例,例1:将片内RAM30H单元开始的15B数据传送到片外RAM3000H开始的单元中去。,汇编语言程序如下:ORG0000HLJMPMAINORG0100HMAIN:MOVR0,#30HMOVDPTR,#3000HMOVR7,#15LOOP:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOOPSJMP$END,C51语言程序如下:voidmain()charidata*pi=0 x30;charxdata*px=0 x3000;unsignedchari;for(i=0;i15;i+)*px+=*pi+;/等价于*(px+)=*(pi+);while(1);,指针应用举例,例2:片内RAM30H开始的单元中有10B二进制数据,编程求它们之和(和256),并将和存于内部RAM40H单元中。,汇编语言程序如下:ORG0000HLJMPMAINORG0100HMAIN:MOVR0,#30HMOVR7,#10CLRALOOP:ADDA,R0INCR0DJNZR7,LOOPMOV40H,ASJMP$END,C51语言程序如下:voidmain()charid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东深圳市九洲电器有限公司招聘法务专员等模拟试卷及答案详解(易错题)
- 2025年十堰市城发集团及所属子公司公开招聘拟聘用人员模拟试卷附答案详解
- 2025年泰安新泰市市属国有企业公开招聘模拟试卷含答案详解
- 2025年齐齐哈尔讷河市发展和改革局所属事业单位公开选调工作人员9人考前自测高频考点模拟试题及答案详解(全优)
- 2025河南郑州高新区双桥社区卫生服务中心招聘3人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025湖南资兴市招聘医疗卫生类专业技术人员28人考前自测高频考点模拟试题及答案详解(易错题)
- 2025贵州黔东南州剑河县顺诚公司紧急招聘长期搔菌人员15人模拟试卷及答案详解(历年真题)
- 2025年福州市供电服务有限公司招聘65人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025贵州遵义市住房和城乡建设局面向基层选调所属事业单位人员2人模拟试卷及答案详解(名校卷)
- 2025届中建港航局集团有限公司春招补录暨2025届暑期实习生(校园大使)校招笔试题库历年考点版附带答案详解
- 香港 信托合同范本
- 畜禽粪污资源化利用培训
- 女生穿搭技巧学习通超星期末考试答案章节答案2024年
- 2024年大学试题(政治学)-比较政治制度考试近5年真题集锦(频考类试题)带答案
- 建筑物拆除场地清理垃圾外运施工方案
- 国家开放大学《Web开发基础》形考任务实验1-5参考答案
- 输变电工程施工质量验收统一表式附件1:线路工程填写示例
- 断亲协议书模板
- 中秋国庆假期安全教育
- GB/T 19808-2005塑料管材和管件公称外径大于或等于90mm的聚乙烯电熔组件的拉伸剥离试验
- 北京市幼儿园办园质量督导评估办法(试行)
评论
0/150
提交评论