delphi内存分配.txt
p2 := StrNew(p1);
ShowMessageFmt('%s, %s', [p1, p2]); { Delphi, Delphi }
p1 := '2009';
ShowMessageFmt('%s, %s', [p1, p2]); { 2009, Delphi }
StrDispose(p2); { 释放自己申请的 }
end;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 不过 StrNew 存在的意义也不大, 我们可以更简单地完成上面的操作:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
var
p1, p2: PChar;
begin
p1 := 'Delphi';
p2 := p1;
ShowMessageFmt('%s, %s', [p1, p2]); { Delphi, Delphi }
p1 := '2009';
ShowMessageFmt('%s, %s', [p1, p2]); { 2009, Delphi }
end;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 说来说去, 好像只有 StrAlloc 是我们值得我们记忆的 ?
还有一对非常重要的相关函数: GlobalAllocPtr 、 GlobalFreePtr;
它们的功能是上面这些都不可替代的 !
GlobalAllocPtr 和 GlobalFreePtr 是对系统函数: GlobalAlloc 、 GlobalFree 的简
化, 之所以说它们重要,
只是因为它们可以跨进程操作;
不过 GlobalAllocPtr 是给无类型指针(Pointer)分配内存, 当然就不仅仅用于字符指针了.
还是到后面专题再做例子吧.
Delphi 的内存操作函数(2): 给数组指针分配内存.分类 : 代码2011 - 08 - 11 08:
10192 人阅读评论(0)收藏举报
静态数组, 在声明时就分配好内存了, 譬如: - - - - - - - - - - - - - - - - - - -
第 5 页