广东省汕头市金山中学高中信息技术 竞赛班第二阶段培训 第九课 指针类型教案.doc_第1页
广东省汕头市金山中学高中信息技术 竞赛班第二阶段培训 第九课 指针类型教案.doc_第2页
广东省汕头市金山中学高中信息技术 竞赛班第二阶段培训 第九课 指针类型教案.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

9 指 针 类 型前面介绍的数据均属于静态数据类型,在pascal语言中,提供了动态的数据类型指针。这里的静态和动态是指程序在编译时内存的分配,静态数据在说明时,内存就为它开辟了一个空间;而动态数据类型是在使用时,边申请边开辟内存空间,而且可以回收。指针类型能处理较复杂的数据结构,能更好地利用内存,常用于描述链表、树、图等数据结构。9.1 指针类型的定义指针不是一种标准类型,也就是说,在使用指针时,我们必须自己定义指针类型。指针类型的一般形式如下: type = ; = record : ; : ; end;【例1】 type pointer = node; 指针类型point就是一根指针指向一个结点node node = record 而结点node是一个记录 数据域 data1 : integer; data2 : char; link : pointer; 指针域 又是指针类型point 图9-1 end;对应的结构如图9-1所示:指针结构的定义是一种递归定义,在 pointer = node中,node未曾定义过,是先使用后定义;而在其后node的定义中,又出现了pointer类型,这是递归定义。仅在指针类型定义中允许出现这种先使用后定义情况。9.2 指针变量的说明前面仅是指针类型的定义,指针变量同样需要进行变量说明。指针变量说明的一般形式如下: var :;例如: var p , q : pointer;这很类似其他变量的说明,但指针变量说明与其它变量说明在实质上是有区别的,其他变量一旦说明,程序就会在内存开辟一个属于该变量的内存空间,而指针变量的说明没有开辟空间,只是说明了p、q标识符是一种指针类型。9.3 指针变量的使用1新建指针(申请空间)p 一般形式为: new ( 指针变量);例: new(p); 这表示在内存开辟一个结点空间,并将指针p指向该空间。2指针数据域赋值p5a 一般形式为: . : = ;例: p . data1 := 5; p . data2 := a;3指针赋值一般形式为: : = ;pq . : = ;例: q:=p; 表示将q指针指向p指针所指的空间pq new(p); 申请新空间,并将p指针指向该结点 q.link:=p; q的指针域指向p所指结点注意:指针赋值并非指针结点的赋值,而是改变指针的指向。4回收空间一般形式为: disp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论