如何使用 PPChar - 回复 "DelphiFan" 的问题

本文通过两个示例展示了Delphi中PPChar类型指针的使用方式及内存管理技巧,包括直接赋值导致的数据关联变化和使用GetMemory分配内存后的独立操作。

问题来源: http://www.cnblogs.com/del/archive/2008/11/08/1329543.html#2024604

{引用}
procedure TForm1.Button1Click(Sender: TObject);
var
  pp1,pp2: PPChar;
begin
  pp1^ := '万一的 Delphi 博客';
  pp2 := pp1;
  ShowMessage(pp2^);  //万一的 Delphi 博客

  pp1^ := 'Delphi 2011';
  ShowMessage(pp2^);  //Delphi 2011
end;

{复制}
procedure TForm1.Button2Click(Sender: TObject);
var
  pp1,pp2: PPChar;
  p: PChar;
begin
  pp1^ := '万一的 Delphi 博客';

  p := GetMemory(ByteLength(pp1^) + SizeOf(Char));
  StrCopy(p, pp1^);
  pp2 := @p;
  ShowMessage(pp2^); //万一的 Delphi 博客

  pp1^ := 'Delphi 2011';
  ShowMessage(pp2^); //万一的 Delphi 博客
  FreeMemory(p);
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值