VB 数组定义
加入我使用如下语句定义一个数组Dimx()asdouble这时,VB认为这个数组又多大呢?为什么我给x(0)赋值会提示下标越界呢?谢谢回答也就是说我要用两个语句才可以,先...
加入我使用如下语句定义一个数组
Dim x() as double
这时,VB认为这个数组又多大呢?
为什么我给 x(0) 赋值 会提示下标越界呢?
谢谢回答 也就是说 我要用两个语句才可以,
先定义数组, 再指定大小。
可不可以用一句来实现呢?
就象是在 VC里面可以用一句就行了:例如:int a[10]; 展开
Dim x() as double
这时,VB认为这个数组又多大呢?
为什么我给 x(0) 赋值 会提示下标越界呢?
谢谢回答 也就是说 我要用两个语句才可以,
先定义数组, 再指定大小。
可不可以用一句来实现呢?
就象是在 VC里面可以用一句就行了:例如:int a[10]; 展开
展开全部
刚刚定义了Dim x() as double还没初始化,系统没有为数组的数据部分分配内存,是一个空的数组,此时它不占用内存,但是系统为了保存数组的结构,只占用24字节的大小,因为是空的数组(没有数据区),所以使用Lbound或者Ubound求它的上下界会出现错误
初始化数组使用redim x(下界 to 上界) as ,此时系统清空数组中原有的数据,然后重新分配内存
注意变量类型一定要和定义的一直
如果想扩大数组范围又保持原有的数据,需要加入preserve关键字
redim preserve x(下界 to 新上界) as
初始化数组使用redim x(下界 to 上界) as ,此时系统清空数组中原有的数据,然后重新分配内存
注意变量类型一定要和定义的一直
如果想扩大数组范围又保持原有的数据,需要加入preserve关键字
redim preserve x(下界 to 新上界) as
展开全部
'动态数组的一个例子。
Private Sub Command1_Click()
Dim a() As Integer'定义一个可变的数组
Dim n As Integer
n = 10
ReDim a(n) As Integer'重新定义大小
For i = LBound(a) To UBound(a)'用这两函数获得数据的上标和下标
a(i) = i + 1
Print i
Next
Print "-------------------"
ReDim Preserve a(n + 2) As Integer'加Preserve维持原始数据不变,如果没有这个关键词,所有元素都将变成0
a(n + 1) = 11
a(n + 2) = 12
For i = LBound(a) To UBound(a)
a(i) = i + 1
Print i
Next
End Sub
Private Sub Command1_Click()
Dim a() As Integer'定义一个可变的数组
Dim n As Integer
n = 10
ReDim a(n) As Integer'重新定义大小
For i = LBound(a) To UBound(a)'用这两函数获得数据的上标和下标
a(i) = i + 1
Print i
Next
Print "-------------------"
ReDim Preserve a(n + 2) As Integer'加Preserve维持原始数据不变,如果没有这个关键词,所有元素都将变成0
a(n + 1) = 11
a(n + 2) = 12
For i = LBound(a) To UBound(a)
a(i) = i + 1
Print i
Next
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你少用了个redim
Dim x() As Double
ReDim x(5) As Double'你少了这个
x(0) = 5
Print x(0)
redim用来重新定义数组,按定义的上下界重新划分存储单元,并可为定义的变量改变存储类型
Dim x() As Double
ReDim x(5) As Double'你少了这个
x(0) = 5
Print x(0)
redim用来重新定义数组,按定义的上下界重新划分存储单元,并可为定义的变量改变存储类型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义了Dim x() as double 还不能使用,
必须指定x的大小才能用
如:
redim x(0 to 10) as double或者
redim preserve x(0 to 10) as double才能使用
必须指定x的大小才能用
如:
redim x(0 to 10) as double或者
redim preserve x(0 to 10) as double才能使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim x() as double
这样声明为一个没有界定上下标的数组.
Dim x(9) as double
定义上标的数组
x(0)...x(1)...x(2)...x(9)
Redim x(5) as double
为重定义数组大小
这样声明为一个没有界定上下标的数组.
Dim x(9) as double
定义上标的数组
x(0)...x(1)...x(2)...x(9)
Redim x(5) as double
为重定义数组大小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询