《C语言》课件-5

《C语言》课件-5

ID:44276435

大小:1.59 MB

页数:26页

时间:2019-10-20

《C语言》课件-5_第1页
《C语言》课件-5_第2页
《C语言》课件-5_第3页
《C语言》课件-5_第4页
《C语言》课件-5_第5页
资源描述:

《《C语言》课件-5》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第5章指针1.2.3.本章讲述内容:4.地址就是指针的概念;指针变量的说明和初始化;指针变量的使用;指针数组的含义及使用。5.1指针和指针变量5.1.1直接访问和间接访问.程序中说明一个变量时,C编译程序就会为其在内存中分配存储单元,以便存放这个变量的取值。变量的类型不同,分配给它的内存空间大小是不同的。.当一个变量所需内存字节数大于1时,它就会与好几个字节的地址相关。所谓一个“变量的地址”,就是指其占用存储区中由小到大的第1个字节地址。例:理解变量地址与变量类型的关系#include"stdio.h"main(){intx;floaty;charch

2、;x=32;y=55.068;ch='A';printf("addressofx=%u",&x);printf("addressofy=%u",&y);printf("addressofch=%u",&ch);}.程序的运行结果及内存分配示意32654926549355.068654946549565496654976549865499xych虽然65492,65494和95499都是地址,但从这些地址开始应该往下多少字节才能得到所需的数据?这要由变量的类型来决定。在C语言中说变量地址,还隐含有这个变量的类型信息,不能笼统地只把它视为一个地

3、址。地址起到指向作用,这正是形象地称变量的内存地址是它的“指针”的原因。即地址就是指针,指针就是地址。.变量地址的作用(1)(2)变量的地址(指针)是一个数值(一个无符号的数值,而不是普通意义的数值),因此可把这个值存放到某个变量里保存。这种用来存放地址的变量,称为“指针变量”。..由于变量的地址(指针)还隐含有这个变量的类型信息,所以不能随意把一个地址存放到任何一个指针变量中去,只能把具有相同类型的变量的地址,存放到这个指针变量里去。即指针变量也应有自己的类型,它与存放在里面的地址所隐含的类型应一致。.通常是通过变量名来访问存储单元的。这种由变量名得

4、到其地址,从这个地址直接完成对存储单元访问的方法,称为对内存的“直接访问”。.比如,程序中遇到变量y时,就由它得到地址65494。由65494就可以取出它里面的内容或往它的里面存放新内容。326549255.0686549465499xych6549465500ptrA.若把变量y的地址放在变量ptr里,那么ptr就是一个指针变量,如图所示。326549255.0686549465499y6549465500ptr指针变量326549255.0686549465499654946550065494指针变量ptrAA65500.这时,可通过变量ptr取到

5、变量y的内容55.068。但访问过程应改为:先从指针变量ptr得到地址65500。从中取出里面的内容65494,它是变量y的地址,而不是y的内容。然后根据这个地址的指点(如图中所画的箭头),到65494里拿到y的值55.068。即这时是通过一个地址(65500)得到另一个地址(65494),再由这个地址去访问所需的存储单元。这种对存储单元的访问方法,称为是对内存的“间接访问”。.内存间接访问的示意图,也可以有另一种画法,要表达的意思是一样的。只是为了看得更加清楚,就把指针变量ptr提出来画到了外面,用箭头指向65494,以表明它的内容65494是一个指

6、针,指向了变量y。一个语句里可说明相同类型的指针变量,其前都必须冠有指针变量的标识“*”。变量说明中的“*”号,只起到标识的作用,表示由<变量名>给出的是一个指针变量,它不是所说明的指针变量名本身的一个组成部分。C语言把内存单元的地址视为一种数据类型,即“指针型”数据。存放指针型数据的变量,称为指针型变量,简称“指针变量”。5.1.2指针变量的说明和初始化..说明一个指针变量的格式是:.关于指针变量说明的几点注意(1)(2)变量说明中的<数据类型>,表明指针变量里所存变量地址的类型。比如:int*ptr;表示ptr是一个指针变量,里面只能存放整型变量的

7、地址,称ptr是一个整型指针变量。(3).指针变量完整说明的格式是:<存储类型><数据类型>*<变量名>;其中<存储类型>、<数据类型>、<变量名>都遵从一般变量说明中的规定。<存储类型><数据类型>*<变量名>=<地址>;比如,变量说明语句:intx,*p=&x;说明了一个整型变量x和一个整型指针变量p,并将x的地址赋给了指针变量p。于是,就说:“p是一个指向变量x的指针变量”,即:“p指向变量x”,或“p是x的指针”。例:在程序中做如下的变量说明:intx=32,*p=&x;编写一个程序,验证指针变量p里存放的确实是变量x的地址。(1)程序实现(2

8、)分析与讨论#include"stdio.h"main(){intx=32,*p=&x;pri

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

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

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