Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 9447|回复: 3

[已解决]什么是初始化数组

[复制链接]
发表于 2010-3-25 15:15 | 显示全部楼层 |阅读模式

Dim cargoWeights() As Double


上一个示例声明了一个数组变量,但没有为它分配数组。还必须创建一个一维数组,初始化该数组,然后将它分配给 cargoWeights。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

如果事先没看到说明,我以为就这样即可:

  1. 声明数组变量
  2. 创建数组
  3. 赋值给变量

现在按帮助所说,第2步与第3步间,还需要初始化一下?!用到现在,头1回听说初始化,蒙了[em04] ....

请问:如题,谢谢!

最佳答案
2010-3-25 15:38
初始化就是分配后的第一次赋值

ReDim 语句示例

该示例使用 ReDim 语句为动态数组变量分配和重分配存储空间。假设 Option Base 1

Dim MyArray() As Integer    '声明动态数组。
Redim MyArray(5)
		'分配 5 个元素。
For I = 1 To 5    '循环 5 次。
    MyArray(I) = I    '初始化数组。
Next I

下一条语句重定义该数组的大小,并清除其中的元素。

Redim MyArray(10)
		'大小重定为 10 个元素。
For I = 1 To 10    '循环 10 次。
    MyArray(I) = I    '初始化数组。
Next I

下面的语句重定义该数组的大小,但没有清除其中的元素。

Redim Preserve MyArray(15)
		'大小重定为 15 个元素。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-3-25 15:38 | 显示全部楼层    本楼为最佳答案   

初始化就是分配后的第一次赋值

ReDim 语句示例

该示例使用 ReDim 语句为动态数组变量分配和重分配存储空间。假设 Option Base 1

Dim MyArray() As Integer    '声明动态数组。
Redim MyArray(5)
		'分配 5 个元素。
For I = 1 To 5    '循环 5 次。
    MyArray(I) = I    '初始化数组。
Next I

下一条语句重定义该数组的大小,并清除其中的元素。

Redim MyArray(10)
		'大小重定为 10 个元素。
For I = 1 To 10    '循环 10 次。
    MyArray(I) = I    '初始化数组。
Next I

下面的语句重定义该数组的大小,但没有清除其中的元素。

Redim Preserve MyArray(15)
		'大小重定为 15 个元素。
回复

使用道具 举报

 楼主| 发表于 2010-3-25 15:46 | 显示全部楼层

谢谢阿木!

恰巧1楼是个不定长的数组,所以需要初始化,才能拿去给变量用;

如果1楼是dim arr(1 to 5),这样定长的,就可直接用了。是吧?

所以,初始化这一步,是看数组是否已经确定了诸如上下限、维数....等参数。如果仅有名称,其它细节都无,就需初始化;否则,不需要。

是吗?

回复

使用道具 举报

发表于 2010-4-12 08:45 | 显示全部楼层

学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 20:47 , Processed in 0.254916 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表