Pascal 动态数组

  • 动态数组

    如果是动态数组类型,则数组的初始长度为零。数组的实际长度必须使用标准SetLength函数设置,该函数将分配必要的内存来存储数组元素。
  • 声明动态数组

    对于声明动态数组,您无需提及数组范围。例如-
    
    type  
       darray = array of integer;
    var
       a: darray;
    
    在使用数组之前,必须使用setlength函数声明大小-
    
    setlength(a,100);
    
    现在,数组a的有效数组索引范围是0到99:数组索引始终从零开始。以下示例声明并使用二维动态数组-
    
    program exDynarray; 
    var
       a: array of array of integer; (* a 2 dimensional array *)
       i, j : integer;  
    
    begin  
       setlength(a,5,5);  
       for i:=0 to 4 do  
          for j:=0 to 4 do  
             a[i,j]:= i * j;  
       
       for i:=0 to 4 do  
       begin  
          for j:= 0 to 4 do  
          write(a[i,j]:2,' ');  
        writeln;  
       end;  
    end.
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
    
    0 0 0 0  0
    0 1 2 3  4
    0 2 4 6  8
    0 3 6 9  12
    0 4 8 12 16