vb 二維陣列宣告問題,VB 二維陣列宣告問題

2022-02-27 04:57:11 字數 1479 閱讀 3237

1樓:匿名使用者

vb規定,dim 陣列必須要求常數表示式,否則會出錯。

但此問題可以這樣解決:

dim m1 as integer, m2 as integerdim a() as integer

dim b() as integer

dim c() as integer

m1 = 2 '這裡可以改為m1,m2從資料庫中讀取的數值m2 = 2 '同上

redim a(m2, m1) as integerredim b(1, m1) as integerredim c(m2, 1) as integer經過這樣處理,就不會出錯了。

2樓:匿名使用者

dim a(m2, m1) as integer必須是數值啊

dim a(100, 100) as integer像這樣、動態的二維陣列的話:

option explicit

private m_a() as byteprivate sub form_load()redim m_a(1 to 1, 2 to 2)debug.print ubound(m_a, 1), ubound(m_a, 2)

end sub

程式已經很明顯了。

1.你先定義一個1維動態陣列。

2.然後在過程或者其他事件裡重新定義陣列的維數!

dim m() as integer

這裡比方說:

m1=10

m2=10

redmim (m1,m2) as integer會在debug視窗輸出 1,2

3樓:匿名使用者

dim a(m2, m1) as integer

dim b(1, m1) as integer

dim c(m2, 1) as integer 這些陣列裡面的引數一定要常數或者常量,而你上面宣告的m1,m2都是變數,當然有錯了。

4樓:

dim是在程式執行之前就在記憶體中申請空間,所以括號裡的值必須是定值,也就是常數,你可以用redim。

先定義dim a() as integer, b() as integer, c() as integer

然後在讀出m1和m2後再用

redim a(m2,m1)

redim b(1,m1)

redim c(m2,1)

就達到你的目的了。

5樓:焉陽波鬱曠

'二維陣列10*10的integer型別

dim num(10,10) as integer 'vb6.0 從1-10為10個元素 *10元素

num(1,1)=5

mum(1,2)=8

'從1開始依此類推到10

num(2,1)=6

num(2,2)=4

'從1開始依此類推到10

'以上二維陣列相當於:

'10行*10例的**如下圖!

關於C語言二維陣列的問題,關於c語言二維陣列的問題

include void main for i 0 i 3 i for i 0 i 3 i for j 0 j 7 2 j printf change after n for i 0 i 3 i 1 2 3 4 5 6 78 9 10 11 12 13 1415 16 17 18 19 20 217...

c語言輸入整型二維陣列a,計算該二維陣列中的最

include void main int a 3 4 max,maxi 0,maxj 0,i,j printf 請輸入 n for i 0 i 3 i for j 0 j 4 j scanf d a i j max a 0 0 for i 0 i 3 i for j 0 j 4 j if max中...

為什麼二維陣列a和a,為什麼二維陣列a i 和 a i 相等

在記憶體中二復維陣列 是一行制一行儲存的,即本例中4個4個的儲存。那麼陣列的開頭,即可以是陣列第一個元素的位置,可以是陣列的首地址,也可以是第一行的首地址。如圖 即a 0 0 是二維陣列的第一個元素,也是第 0 行的第一個元素,他們的位置是一樣的所以地址也必然是相同的。a a 0 a 0 a 0 0...