【正确答案】
D
【答案解析】[解析] 动态数组定义后,系统并没有给数组分配存储空间,此时不可以使用数组,否则会引发“下标越界”的错误。动态数组使用前必须使用ReDim语句对数组进行重定义。
重定义动态数组时应注意:
(1)不能改变数组的数据类型。
(2)可以在程序中使用ReDim语句对动态数组多次重定义。
(3)维界的格式与固定大小数组中维界格式相同。
(4)动态数组在重定义时,维界可以使用常量、变量及表达式。
(5)如果不加关键字Preserve,则使用ReDim语句对动态数组重定义时,会清除重定义之前动态数组中所有元素的内容,使用默认值填充。如果想在重定义时保留动态数组中原有内容,则必须使用Preserve关键字。
(6)若使用了关键字Preserve,在重定义动态数组时,则数组的维数不能改变,且只能改变最后一维下标的上界。
形式参数如果是动态数组,可以使用ReDim重新改变维界,返回时,实参数组的维界也随之改变。