* 数组定义--基于指针 Darray S 10 DIM(20000) BASED(PTR) Dindex s 70 * memory allocation data items--不知道具体怎么翻译这个,按照我的理解,是一个指针结构 * 用于保存数组的信息,比如数组中的序号,内存大小,数组的内容 Dptr S * Dnbr_of_elems S 50 INZ(10) Dmem_size S 70 INZ Dx S 10i 0 * 分配出示内存= *(元素的初始数量 * 数组的内容的大小) C EVAL mem_size =%size(array) * nbr_of_elems C ALLOC mem_size ptr C EVAL x =%elem(array) * 循环测试 C 1DO50index * 当索引超过当前数组元素的上限时 C IFindex> nbr_of_elems * 通过加10的步长方式 *并且乘以数组元素的大小得到一个新的内存大小 C EVAL nbr_of_elems = nbr_of_elems +10 C EVAL mem_size =%size(array) * nbr_of_elems * 重新分配内存块,并且增长大小 C REALLOC mem_size ptr C ENDIF * Move数据测试 C MOVE index array(index) * C ENDDO * 释放内存 C DEALLOC ptr C EVAL*inlr =*on