Never too old to learn.

Pascal Memory

Posted on By Andy Zhu

Pascal 中的动态内存

众所周知,我们可以使用newdelete来实现创建和删除内存

但是如果我要创建删除一个数组呢?

那么直接把它type成一个类型然后再newdelete

那么如果我要创建删除一个不定长的数组呢?

这时候就需要GetMemFreeMem

函数原型:

procedure GetMem(var a:pointer;size:longint);
procedure FreeMem(var a:pointer;size:longint);

使用的注意事项:

注意数组传入的原型是pointer,(”数组”的声明:a:^[你要的那个类型];

或者你可以传入@a[i],它就会从第i位往后创建或删除

同理你可以使用a=@a[1];来把数组的起始下标改为从1开始