这个问题很简单,可是我学艺不精.
我要把一个数组execol(5)里面的5个下标的值全部赋给另一个数组exerow(i)
我这样赋值,可是exerow()里好像没值,我写错了吗?
例子:
       '这里是第一次把execol里5个下标的值全部赋给exerow(0),简单的说就是把execol数组赋给exerow(0)
            exerow(0)=execol()
            ..................
            ..................
       '接下来,execol数组又装了5个值,再次同上把execol数组赋给exerow(1)
            exerow(0)=execol()
请问(数组赋值给数组)这样赋值对吗?是这样写吗?

解决方案 »

  1.   

    Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (DestInatIon As Any, Source As Any, ByVal LENGTH As Long)
    CopyMemory execol(0), exerow(0), 5
      

  2.   

    CopyMemory exerow(0), execol(0), 5
      

  3.   

    exerow(0)里面一次存入5个数?
    能存吗?
      

  4.   

    row
    col
    ??你直接用一个二维数组不行吗?只有C语言中才有你那种用法,VB中不要那样用。
      

  5.   

    虽然在VB和C语言中数组变量都是指针,但C语言中的数组变量直接指向数组元素,而 VB中的数组变量却是指向一个SafeArray结构,这个SafeArray结构中的pvData域才指向数组元素。
      

  6.   

    TO:conrad_wan(pineapple) 
    两个数组都是Variant类型.TO:qiqi5521() 
    我也想用二维数组,可是二维数组不行啊,这个数组中exerow(行,列)这个行的上界是不可定的,要不停的添加,可是在VB中数组在运行时的改变,只能改变末尾(列)的上界..而不能改变行的上界,没办法啊....所以用不了二维数组.
      

  7.   

    你也可以用CopyMemory的方法,控制SafeArray结构,造出C语言中那种结构的二维数组。但是,如果不是特殊的需要,没必要那么做。那已经脱离了VB的意义。VB的长处就是更抽象、更简洁。
      

  8.   

    如果,您想节约系统资源,您可以用 CopyMemory,GlobalAlloc,等API函数,造出比较节约内存的二维的可变结构。
      

  9.   

    真累,回了三次之后不能回了,换了个ID.接着说:我前面的想法可能偏了。你试试这样:dim execol as Variant
    exerow(0)=execol其中execol是变体类型,变体类型可以是数组。你尝试尝试吧。我现在在网吧,没法尝试,都是猜的。
      

  10.   

    谢谢qiqi5521,我用了个笨方法去实现了,呵呵.再次感谢
      

  11.   

    也谢谢weiweiplay(虚幻) ,呵呵...