如何设置字符串的长度?
在Borland/Turbo Pascal中,可以通过改变字符串中索引号为0的字符的值来设置字符串长度。对于字符串S,S[0]返回一个字符,其序号代表S的长度,你可以使用语句S[0] := Chr(L)来把字符串S的长度设为L,其最大值为255。在Free Pascal中,可以使用过程SetLength(var S: string; Len: Longint)来设置字符串的长度,其最大值视字符串的类型而定。
不同的实数类型有什么区别?
Borland/Turbo Pascal提供五种实数类型:Real、Single、Double、Extended和Comp。它们的特性如下表所示:
类型 |
范围 |
有效位数 |
大小(字节) |
Real |
2.9E-39..1.7E38 |
11~12 |
6 |
Single |
1.5E-45..3.4E38 |
7~8 |
4 |
Double |
5.0E-324..1.7E308 |
15~16 |
8 |
Extended |
3.4E-4932..1.1E4932 |
19~20 |
10 |
Comp |
-9.2E18..9.2E18 |
19~20 |
8 |
Real是标准的实数类型,它以软件方式进行运算,速度很慢,一般不使用它来存储实数。其它四种实数类型都由数字协处理器进行运算,速度快,精度高。其中,Comp是64位整数类型,它用来存储范围在-2^63+1至2^63-1之间的整数,不过它被作为实数来进行处理。当把一个Comp类型变量赋值为一个实数时,会自动进行四舍五入。
在Free Pascal中,Real等价于Double,其它四种实数类型与Borland/Turbo Pascal相同。
如何在记录类型中声明一个类型为该记录指针类型的字段?
你需要预先定义该记录类型的指针类型,然后把字段的类型设为该指针类型。参考下面的样例:
type
PRec = ^TRec;
TRec = record
A: PRec;
end;
注意,在这种情况下,记录类型必须和其指针类型定义在同一个类型定义部分中,如下面的样例是错误的:
type
PRec = ^TRec;
type
TRec = record
A: PRec;
end;