欢迎来到天天文库
浏览记录
ID:49136372
大小:81.50 KB
页数:22页
时间:2020-01-31
《第7章 数组与记录类型.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第7章数组与记录类型数组是一些具有相同类型的元素按一定顺序组成的序列。数组中的每一个数据元素都可以通过数组名唯一一个索引号来存取,它们被顺序地安排在内存中的一段连续的存储区中。7.1数组及其应用7.2记录类型7.1数组及其应用在Delphi5/6版本中的ObjectPascal引入了动态数组,数组的内存分配不再局限于静态的,可以采用动态方式为数组分配内存区。因此,数组可分为静态数组和动态数组两种类型。7.1.1静态数组静态数组在程序初始化时必须分配内存单元,明确其固定的大小和元素的数据类型。1.一维静态数组数组通常可分为一维、二维和多维数组,在
2、ObjectPascal中,定义一个一维数组类型,其声明格式为:Type〈数组类型标识符〉=array[〈下标类型〉]of〈基类型〉;7.1.1静态数组2.二维静态数组二维数组是指一个一维数组中的元素类型本身又是一个一维数组,其一般形式为;Type〈数组标识符〉=Array[〈下标类型1〉]ofArray[〈下标类型2〉]of〈元素类型〉;也可以把上述形式简写成下面的形式:Type〈数组标识符〉=Array[〈下标类型1〉,〈下标类型2〉]of〈元素类型〉;7.1.1静态数组3.多维静态数组多维静态数组的一般格式为:Type〈数组类型标识符〉=
3、array[〈下标类型1〉,〈下标类型2〉,…,〈下标类型n〉]of〈基类型〉;TypeTest1=array[1..10,1..10,1..30]ofinteger;VarMyarray:array[0..5,0..6,0..8]ofreal;7.1.1静态数组4.使用静态数组的注意事项(1)零基准数组。所谓零基准数组,就是下标从零开始的数组,例如:array[0..5]ofchar(2)数组的整体赋值。假设有两个数组array1和array2,其变量定义如下:7.1.1静态数组Vararray1,array2:[1..10]ofchar;如
4、果要把array2中每一个元素的值相应赋值给array1中的元素,一般是使用For语句,例如:ForI:=1To10Doarray1[i]:=array2[i];7.1.1静态数组(3)把数组作为过程或函数的形参。ProcedureMyProc(varArray1:Array[1..10]ofInteger);Began…End;上述程序中,数组的定义和传递并在一起进行,并且Array1是作为变参传递的。另外,数组也可以作为函数的返回类型,而在TurboPascal7.0是不允许的。7.1.1静态数组(4)开放式数组。ObjectPascal语
5、言实现了开放式数组。{定义两个长度不同的数组变量}VarX1:Array[1..10]ofreal;VarX2:Array[1..10]ofreal;{MyProc过程的定义,其形参是开放式数组}ProcedureMyProc(X:ArrayofReal);Begin{过程体略}End;BeginMyProc(X1);MyProc(X2);End;【例7-1】利用数组求出任意10个数中的最大及最小值。如程序所示【例7-2】利用二维数组建立一个8×8的方阵,该矩阵对角线元素为8,其余元素为1,结果显示在列表组件ListBox1中。如程序所示7.1
6、.2动态数组1.一维动态数组一维动态数组的声明格式为:Type〈数组类型标识符〉=arrayof〈基类型〉;也可在变量声明中直接声明动态数组,其格式为:Var〈变量名〉:arrayof〈基类型〉;7.1.2动态数组2.多维动态数组Type〈数组类型标识符〉=arrayofarrayof…arrayof〈基类型〉;Var〈变量名〉:〈动态数组类型标识符〉;或Var〈动态数组变量名〉:arrayofarrayof…arrayof〈基类型〉;例如,如下声明了一个二维动态数组变量TypeTMessageGrid=arrayofarrayofstring
7、VarMsGS:TMessageGrid;【例7-3】创建一个三角形的矩阵,并在一个ListBox列表框中显示出来。如程序所示7.2记录类型ObjectPascal的记录类型跟数据库中的记录概念很相似,记录类型中的元素可以理解为数据库中的字段。事实上,ObjectPascal正式借用了数据库中的记录和字段的概念。7.2.1记录类型的声明声明一个记录类型的一般格式为:Type〈记录类型标识符〉=Record〈域名表1〉:〈类型1〉;〈域名表2〉:〈类型2〉;…〈域名表n〉:〈类型n〉;End;7.2.2访问记录域与With语句在程序设计中,记录类
8、型经过声明并建立实例之后就可以使用了。使用记录类型实际上是对记录的字段进行访问,由于记录类型中元素的类型不同,因此不能像使用数组一样使用下标。访问记录
此文档下载收益归作者所有