SetLength()可以设置静态数组吗???我给动态数组分配了100字节的空间;
用SetLength可以把他设置成50字节么?说到底就是不知道SetLength的到底做了那些工作;

解决方案 »

  1.   

    不能设置静态数组。可以缩小SetLength是根据参数Size分配一个新的内存空间,同时把原有的内容复制过去(如果是缩小就不需要动)。
      

  2.   

    SetLength用来设置(调整)字符串的长度或动态数组的大小。比如:
    var
      s: string;
      a: array of Integer;
      b: array of array of Integer;
    begin
      SetLength(s, 10);
      SetLength(a, 10);
      SetLength(b, 3, 5);
    end;
      

  3.   

    SetLength()通过动态内存申请和释放来实现
    malloc();
    realloc();
    free();