请问除了以下这种方法,还有其它的更简单的方法吗?
C[0] := A[0];
C[1] := A[1];
...

解决方案 »

  1.   

    asm
    lea esi,a
    lea edi,c
    mov ecx,sizeof(a)
    rep movsb
    add edi,sizeof(a)
    lea esi,b
    mov ecx,sizeof(b)
    rep movsb
    end;
    就可以了
    或者:
    CopyMemory(@c,@a,sizeof(a));
    CopyMemory(Pointer(DWORD(@c)+sizeof(a)),@b,sizeof(b));
      

  2.   

    嘿嘿~如果你要加分,加到 lexchow 这个ID上,我这个ID正要收集1000分然后转移上面所有可用分
      

  3.   

    CopyMemory
    MoveMemory 
    应该都可以
      

  4.   

    var i,j:integer;
    for i:=0 to 7 do
     c[i]:=a[i];
    for j:=0 to 7 do
       begin
         c[i]:=b[j];
         inc(i);
       end;
      

  5.   

    请问数组长度最大为多少?val a: array[0..1000000],这么大好像出错。难道最大只能为64K吗?有什么办法可以定义成功val a: array[0..1000000]?
      

  6.   

    鳄鱼的代码肯定不行啦,不要给分它了,它已经有好多了我帮你做了个,保你满意,只要你12分就行
    Move(A[0], C[0], 8);
    Move(B[0], C[8], 8);
      

  7.   

    dbExpress(老枪),你的方法很简洁,不错,一会我试一下。
      

  8.   

    dbExpress(老枪),你说数阻最大长度好像是2G-1字节,我刚才定义了一个100万长度的integer类型的数组,运行后,当给它赋值,系统提示堆栈溢出。
      

  9.   

    哦,忘了,栈不能容纳2G-1字节的数组,
    栈的默认大小是1M,具体的可以在project选项中调整,
    想你这样的1M个integer,最好在堆中分配我的错误?不会吧,你搞错了,是吧?另外,我差1分就升四个三角了,谢谢
      

  10.   

    还是 helloworldxu(鹰)的方法可靠。dbExpress(老枪) 你的代码确实错误,我测试了,不过不知道错误原因。恶鱼的方法正确,但是动态数组的话也错误。
    感谢朋友们出手,马上结账!
      

  11.   

    对于动态数组,只需要把 a,b,c,改为a[0],b[0],c[0]就可以了