C语言的数组的联系赋值可以这样写:
 int temp[5][2] = {{0,1,2,3,4}, {5,6,7,8,9}};delphi里这样的赋值应该怎样写?

解决方案 »

  1.   

    for语句不就行了嘛,最笨也是最稳妥的方法。
      

  2.   

    比如 int temp[5][2] = {{5,3,5,4,1},{3,8,1,2,4}};
      for语句怎么写???
      

  3.   

    上面的C语句并不是赋值,而是变量初始化。如果写成这样就不行了:
    int temp[5][12];
    temp ={{0,1,2,3,4}, {5,6,7,8,9}};Delphi中只有全局变量可以初始化:
    var
      temp: array[0..4, 0..11] of Integer =
       ((0,1,2,3,4),(5,6,7,8,9),(0,0,0,0,0),……)//注意:在Delphi中对数组初始化时一定要把元素值写全,不能只写一部分。
      

  4.   

    谢谢plainsong兄的解答。在下遇到的情况是这样的,在一个过程或函数里对一个全局动态数组分配大小,然后对其赋值,而这个动态数组在不同的过程里有不同的长度,通常大小有32*32, 64*64, 128*128等,很显然C语言上面的初始化方式很方便,而在Delphi里我只能这么写
     temp[0,0] := 4;
     temp[0,1] := 3;
     temp[0,2] := 1;
     temp[0,3] := 9;
     .........
     .........
     .........
    如果是一个64*64的数组代码量可想而知。如果delphi也支持C语言的初始化方式该多好啊!
      

  5.   

    C语言的初始化也只支持静态数组,对于动态数组(动态分配的指针)是不能用这种方式初始化的。
    你可以先用
    const
      InitValues: array [0..31, 0..31] of Integer =
      ((……),(……),……)
    定义好初始化值,在初始化动态数组时用循环+Move去初始化。