type
TPerson = record
FirstName, LastName: string[40];
BirthDate: TDate;
case Citizen: Boolean of
True: (Birthplace: string[40]);
False: (Country: string[20];
EntryPort: string[20];
EntryDate, ExitDate: TDate);
end;
type
TShapeList = (Rectangle, Triangle, Circle, Ellipse, Other);
TFigure = record
case TShapeList of
Rectangle: (Height, Width: Real);
Triangle: (Side1, Side2, Angle: Real);
Circle: (Radius: Real);
Ellipse, Other: ();
end;
对每个记录类型的实例,编译器分配足够的内存以容纳最大变体类型的所有字段。可选的
constantLists(像上面例子中的Rectangle、Triangle等)对于编译器管理字段没有任何作用,它们只是为了程序员的方便。
使用变体记录的第二个原因是,你可以把同一个数据当作不同的类型进行处理,即使在编译器不允许类型转换的场合。比如,在一个变体类型中,它的第一个字段是64位实数,在另一个变体类型中,第一个字段是32位整数,你可以把一个值赋给实数(字段),然后再当作整数来读取它的前
它传给一个需要整数参数的函数)。
File types(文件类型)
file是由相同类型的元素组成的有序集合。标准I/O例程使用内置(预定义)
们表示一个包含字符的文件,这些字符是以行的形式进行组织的。想了解更多关于文件输入和输出的信32TextFile或TEmployeetag和Text类型,它
- 61 - 所以,当你创建一个位值(比如,把的
Data types, variables and constants
息,请参考Standard routines and I/O(标准例程和I/O)。
要声明一个文件类型,使用下面的语法:
type fileTypeName = file of type
这里,fileTypeName是任何有效的标志符,type是一个固定大小的类型。指针类型(不管是隐含的还是直接的)是不可以的,所以,文件不能包含动态数组、长字符串、类、对象、指针、变体类型、其它文件或包含以上类型的结构类型。
比如,
type
PhoneEntry = record
FirstName, LastName: string[20];
PhoneNumber: string[15];
Listed: Boolean;
end;
PhoneList = file of PhoneEntry;
声明了一个记录姓名和电话号码的文件类型。
在声明变量时,你也可以直接使用file of ...结构,比如,
var List1: file of PhoneEntry;
单独的一个file表示一个无类型文件:
var DataFile: file;
要了解更多信息,请参考Untyped files(无类型文件)。
数组和记录中不能包含文件类型。
Pointers and pointer types(指针和指针类型)
Pointers and pointer types(指针和指针类型)
指针是一个表示内存地址的变量。当一个指针包含另一个变量的地址时,我们认为它指向这个变量在内存中的位置,或指向数据存储的地方。对于数组或其它结构类型,指针指向的是结构中第一个元素的地址。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-42.html
没有腐败贪官
以前可以搜到多个系统更新到9
你现在就可以去伊拉克竞选总统