090227指针和动态数据结构

090227指针和动态数据结构

ID:41928534

大小:62.00 KB

页数:5页

时间:2019-09-04

090227指针和动态数据结构_第1页
090227指针和动态数据结构_第2页
090227指针和动态数据结构_第3页
090227指针和动态数据结构_第4页
090227指针和动态数据结构_第5页
资源描述:

《090227指针和动态数据结构》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第十一章:指针和动态数据结构什么是指针?先来回答,I什么是地圳,即内存地址?关于这一点可以追溯到第五章,过程和函数中的形式参数。(地址传递)女H:procedureaaa(a:integer;varb:intcgcij;functionbbb(a:intcgc4varb:inicgcr):boolcan;在形式参数中,使川var所申明的参数,即变参,便是我们接下來所要特明提到的。假如在主程序中,要调用过程、两数,它是怎么做的呢?先来看,主程序屮实际参数是如何与过程屮的形式参数如何一一对应,进行传递的?begin(后两种是可行的,为什么?)aaa(123

2、,123);aaa(m,123+m);aaa(123,m);aaa(m,m);end.过程函数(形式)接口参数传递实质理解:(1)值参,可看成是过程函数内部的一个新的局部变量(2)变参,地址传递,是耍将某个变量的地址传递给能够接收保存地址的参数,即变参。变量地址,即

3、变量的首地址在程序变屋说明屮,var部分,当我们说明了一个变量的类型吋,计算机会根据我们所申明变量的大小,在计算机内部开僻出一块内存区域,如:vara:integer;b:longint;c:arrayfl..l()0]oflongint;程序编译时,计算机在内存屮为变量开僻出一块内存区域

4、,其中a:integer,将开僻出2个字节大小的内在区域,而b:longint,则将开僻出4个字节大小的内存区域,c:为数组,程序将开僻出100*4共400个字节连续的内存区域。每一个字节区域,在计算机内存中都有一个地址编号,而变量a,b,c它们同样也有一个地址编号,这样地址编号是指其首地址编号,不用为此操心它们是否会混淆,因为由于Z前我们所了解的,所开僻的区域均是连续的,计算机在存取数据吋就可以根据不同的数据类型从首地址开始读多少个字节了,呵呵……。这个地址,像什么呢?冇点像我们电脑桌面上所创建的快捷图栩,大家可以看到桌面的快捷图标,非常方便,可以肓

5、接进入到某个应用程序,而当你将快捷图标删除掉的话,则对程序木身没存带来任何彩响,程序并不会因此而被删除掉,桌而上的快捷图标实际上,就是用来记录卜•某个应用程序的位置,即地址的。因而他们大小也一样。虽说程序之间所占空间千差万别。指针从天而降!结论:地址,如果能用某个变量保存下来,这个变量就是一个地址单位,不同类型的变量尽量它们在内存中所占字节千差万别,但是-其地址若保存到某个变量的话,该变量是没有差别的,再换句话说,用来保存不同变量间的地址的变量,具大小毫无疑问均一致。在此,耍问一下,有没有这样的变量,有的哦,就是接下来要谈到的指针。举例:typecc=

6、array[1..100]oflongint;varpl:Ainteger;p2:Alongint;p3:cc;beginwriteln(sizeof(p1):4);writeln(sizeof(p2):4);writeln(sizeof(p3):4);end;我们可以从屮看來,pl、p2、p3是指针变量,具空间大小均一样,均占用一个地址单元大小,即计算机字长大小,4个字节。指针所带的的好处冇?指针是通过地址来访问变量的一种特殊的数据类型,属于动态的数据结构,它可以在需要时产生,用完后则乂可以収消或回收,以减少占用的内存空间。指针变量与其他类型的变量不

7、同,它占有的不是数据,而是地址。由于动态数据结构的变量是在程序执行过程中动态生成的,所以不能预先予以说明,无法预先给这些变虽起名字,访问时也无法通过名字直接输出或显示,而只能用指针得到其地址,然后间接访问。1、定义指针类型在TurboPascal屮,指针变疑用来存放某个存储单元的地址,即指针变量指向某个存储单元。一个指针变量仅能指向某一种类型的存储单元,这种数据类型是在指针类型的定义屮确定的,称为指针类型的基类型。指针类型定义如下:类型名=A基类型名;例如:typeq=Ainteger;vara,b,c:q;说处q是一指向整型存储单元的指针类型,其中w

8、为指针符。a,b,c均定义为指针变量,分别可以指向一个整型存储单元。上例也可用变量说明为:vara,b,c:Ainteger;指针也可以指向有结构的存储单元。例女口:typepcrson=rccordname:string[10];sex:(male,female);age:20..70end;varpt:Aperson;pt为指向记录类型person的指针变量。2、动态变量应川一个指针指向的动态存储单元即动态变量的形式如K:指针变量名八例如:pA、qA、rA指针变量P和它所指向的动态变量M之间有如下关系:以下语句把整数5存放到p所指向的动态变量V屮去

9、:pA:=5;以下语句把p所指向的旷中的值赋给整型变量i:i:=pA;如果指针变量p并未指向任

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

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

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