Delphi整理六(数据与记录)

来源:互联网 发布:java 设置当前时区 编辑:程序博客网 时间:2024/05/17 01:39

数组与记录

静态数组:

定义的时候就分配存储单元,确定数组元素的个数和类型的数组。
声明格式:

<类型标识符>=array[<下标类型> of<基类型>];

1)<类型表示符>是用户定义的数组类型的名称。
2)<下标类型>必须是整数、字符、布尔、子界、枚举类型(顺序类型)
3)<基类型>就是元素的类型,可以是任何类型,数组的每个元素类型是一致的。
4)数组元素的格式就是下标的个数

typexuehao=1..50;score=array[xuehao] of integer;acolor=(red,blue,green);yanse=array[acolor] of integer;vars1,s2:score;c1,c2:yanse;

一起定义,更简洁

var a1,a2:array[1..30] of real;low():数组最小下标(1)high():数组的最大下标(green)length()表示数组元素的个数

二维静态数组

type<数组类型名>=array[<下标类型1>] of array[<下标类型2>] of <元素类型>;

一般来说,习惯把二维数组定义为如下形式:

type<数组类型名>=array[<下标类型1>,<下标类型2>] of <元素类型>;

例如,

typeaa=array[1..5,2..8] of integer;vara1,a2:aa;

动态数组

一维动态数组的定义:

type<数组类型名称>=array of<基类型>

或者直接将类型和变量定义在一起

var<变量名>:array of<基类型>setLength(a,20):

声明数组a有20个元素,a[0]~a[19]

多维动态数组

语法格式:

type<数组类型名称>=array of array of<基类型>

var<变量名>:array of array of <基类型>setLength(a,4,6);

a有24个元素

字符串类型

<字符串类型名>=string;var<字符串变量>:<字符串类型名>;

或者

<字符串变量>:string;

允许在定义字符串的时候声明字符串中字符的个数:

<字符串类型名>=string[<长度>];var<字符串变量名>:<字符串类型名>;

或者

var<字符串变量名>:string[<长度>];

例如,

typexingming=string[10];varxml:xingming;orxml:string[10];

特别:xml的长度为10,
第一个位置是存放长度的s[0]=#5
ord(s[0])可以得到字符串长度。
123页

记录类型

记录类型的定义格式为:

type<记录类型名>=record<字段1>:<类型1>;<字段2>:<类型2>;...end;

例,

type  student=record  xh:string[2];  xm:string[8];  yw:integer;end;varst:array[1..20] of student;s1,s2:student;

记录类型的访问与with语句

with  <变量名>  do;

用法:(接上面的定义例子)

with s1 dobeginxingming:='张三';yuwen:=90end

with语句的嵌套(就近原则)

with s2,s1 dobegin  ...end

结果为s1的信息值