b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(38)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

最简单的是一维数组,它只有一个indexType,比如:

var MyArray: array[1..100] of Char;

声明了一个变量MyArray,它是一个有100个字符的数组。给定上面的声明,MyArray[3]表示数组中的第3个字符。若声明了一个静态数组,虽然并没有给每一个元素赋值,但未用的元素仍分配内存并包含一个随机值,这和未初始化的变量类似。

A multidimensional array is an array of arrays. For example,

一个多维数组是数组的数组,比如:

type TMatrix = array[1..10] of array[1..50] of Real;

就等价于

type TMatrix = array[1..10, 1..50] of Real;

不论用哪种方式声明,它表示一个有500个实数值的数组。一个TMatrix类型的变量MyMatrix,可使用这样的索引:MyMatrix[2,45],或像这样:MyMatrix[2][45]。同样,

packed array[Boolean,1..10,TShoeSize] of Integer;

就等价于

packed array[Boolean] of packed array[1..10] of packed array[TShoeSize] of Integer;

标准函数Low和High作用于数组类型(的标志符)或变量,它们返回数组第1个索引(类型)的最小值和最大值;Length返回数组第1维的元素个数。

一维、

一维、压缩的(packed)、Char类型的静态数组称为packed string,它和字符串类型兼容,也和其它具有相同元素个数的packed string兼容。请参考Type compatibility and identity。

array[0..x] of Char类型的数组,是0下标开始的字符数组,它用来存储零结尾字符串,并且和PChar类型兼容。参考Working with null-terminated strings。

- 56 -

Data types, variables and constants

Dynamic arrays(动态数组)

动态数组没有固定大小和长度,相反,当你给它赋值或把它传给SetLength函数时,它的内存被重新分配。动态数组以下面的形式声明:

array of baseType

比如

var MyFlexibleArray: array of Real;

声明一个实数类型的一维动态数组。声明并没有为MyFlexibleArray分配内存,要在内存中创建数组,要调用SetLength。比如,以上面的声明为例:

SetLength(MyFlexibleArray, 20);

分配一个由20个实数构成的数组,索引号从0到19。动态数组的索引总是整数,并从0开始。动态数组变量实际是指针,并和长字符串一样使用引用计数进行管理。要取消动态数组的分配,给它的变量赋值nil,或者把变量传给Finalize。在没有其它引用的情况下,这两种方法都将消除数组。0长度动态数组的值为nil。不要对一个动态数组变量使用运算符‘^’,也不要对它使用New或Dispose过程。若X和Y是同一类型的动态数组变量,X := Y使X指向和Y相同的数组(在这个操作之前,不必给分配内存)。不像字符串和静态数组,动态数组不会在被写之前自动拷贝。比如,在下面的代码执行后

var

A, B: array of Integer;


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-38.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...