9 被修改的字符都在字符串中。请小心不要对指针使用(索引)边界检查。
当混合使用WideString和PWideChar时,这些规则同样适用。
Structured types(结构类型)
Structured types: Overview(概述)
结构类型的一个实例可包含多个值。结构类型包括集合、数组、记录,也包括类、类引用(class-reference)和接口类型。除了集合只能包含有序值以外,结构类型可以包含其它的结构类型,且结构的层次不受限制。
默认情况下,一个结构类型的值被圆整为字(word)或者双字(
当声明一个结构类型时,可以包含关键字packed,这将对数据的存储进行压缩(并不是压缩,只是不再圆整数据,而保留它的自然结构)。比如:
type TNumbers = packed array[1..100] of Real;
使用packed使数据访问变慢,并且在使用字符数组的情况下,能影响类型兼容性。
Sets(集合)
集合是同一种有序类型的值的聚集,它们包含的值没有内在的顺序,且一个值在集合中包含两次并没有实际意义。
一个集合类型的取值范围,是构成它的有序类型(称为基础类型)的幂,也就是说,集合可能的值是基础类型的所有子集,也包含空集。基础类型可能的值不要超过
之间。任何像下面的形式:
set of baseType
声明一个集合类型,这里,baseType是一个合适的有序类型。
因为基础类型的值是有限的,因此,集合类型通常使用子界类型来定义。比如下面的声明:
type
TSomeInts = 1..250;
TIntSet = set of TSomeInts;
它声明一个叫做TIntSet的集合类型,它的值是从1到250之间所有可能的选择。
句达到同样的目的:
type TIntSet = set of 1..250;
有了上面的声明,你就可以像下面这样构造集合了:
var Set1, Set2: TIntSet;
...
Set1 := [1, 3, 5, 7, 9];
Set2 := [2, 4, 6, 8, 10]
你也可以直接使用set of …构造直接声明变量:
var MySet: set of 'a'..'z';
...
MySet := ['a','b','c'];
其它集合类型的实例包括:
set of Byte
set of (Club, Diamond, Heart, Spade) double-word),这样访问起来更迅速。 256个,并且它们的序数必须在你也可以使用下面的语0到255
- 55 -
Data types, variables and constants
set of Char;
运算符in判断集合的成员关系:
if 'a' in MySet then ... { do something } ;
每个集合类型可包含空集,用[]来表示。
Arrays(数组)
Arrays: Overview(概述)
一个数组是由相同类型的(称为基础类型)、经过索引的元素组成的聚集。因为每个元素有唯一的索引,所以,数组和集合不同,它可以包含多个相同的值。数组可以静态分配内存,也可以动态分配。 Static arrays(静态数组)
静态数组类型以下面的格式声明:
array[indexType1, ..., indexTypen] of baseType
这里,每个indexType是有序类型并且范围不超过2G。因为indexType是数组的索引,所以,数组包含的元素个数由indexType的范围限定。在实际应用中,indexType通常是整数子界类型。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-37.html
当然来鬼城的难民是限制条件的
美国早就很清楚
易烊千玺很棒