Pascal 中的动态内存
众所周知,我们可以使用new
和delete
来实现创建和删除内存
但是如果我要创建删除一个数组呢?
那么直接把它type
成一个类型然后再new
和delete
那么如果我要创建删除一个不定长的数组呢?
这时候就需要GetMem
和FreeMem
函数原型:
procedure GetMem(var a:pointer;size:longint);
procedure FreeMem(var a:pointer;size:longint);
使用的注意事项:
注意数组传入的原型是pointer
,(”数组”的声明:a:^[你要的那个类型];
)
或者你可以传入@a[i]
,它就会从第i位往后创建或删除
同理你可以使用a=@a[1];
来把数组的起始下标改为从1开始