指针内容复制的问题?(50分)

  • 主题发起人 主题发起人 by007
  • 开始时间 开始时间
B

by007

Unregistered / Unconfirmed
GUEST, unregistred user!
TMYRrc=Record
name:string[10];
id:integer;
sex:byte;
age:byte;
end;
pMYRec=^TMYRrc;
//----------------------------------------------------
var
pMYRecA,pMYRecB:pMYRec;
pMYRecA:=NEW(pMYRec);
pMYRecA.NAME:='林';
pMYRecA.id:='林';
pMYRecA.sex:=1;
pMYRecA.age:=20;
//我想把 pMYRecA内的字段数值复制,pMYRecB内,但pMYRecB和pMYRecA不使用相同地址,也就是说,操作pMYRecA对pMYRecB没影响,pMYRecB和pMYRecA是独立的,如何使用简单办法实现?
 
那就new一个pMYRec 使用copymemory来做.
 
恩,copymemory来写。。。
 
type
Pa = ^t;
t = packed record
a : char ;
b : Smallint ;
c : byte ;
end;

procedure TFrmmain.bsSkinSpeedButton1Click(Sender: TObject);
var
i : integer ;
a : pa ;
b : T ;
str : String ;
f : Tfilestream ;
x : Pbyte ;
begin

f := TFileStream.Create('c:/a.rar',fmOpenRead);
GetMem(a,sizeof(T));
f.ReadBuffer(a^,sizeof(T));
getMem(x,1) ;
F.ReadBuffer(x^,1);
str := inttostr(x^) ;
ShowMessage(format('a.b=%d,x=%d',[a.c,x^]));

f.free ;
end;
 
后退
顶部