你要这样想,指针就是一个地址,比如一个房间,不管里边装了多少东西,没关系,我有指针,也即是一把钥匙,不管里边是什么,再比如:
type
he=record
abc:string;
aaa:string;
sss:integer;
end;
var
hhe:he;
p:^he;
procedure abcde;
var
hh:he;
begin
new(P);
p=pointer(hh);
hh.abc:='kdkd';
hh.aaa:='alsdkasdf';
hh.sss:=23;
end;则通过这样的方法,一个指针中存了一个记录结构he,包括三个类型,同样可以存别的,你明白了吗。
type
he=record
abc:string;
aaa:string;
sss:integer;
end;
var
hhe:he;
p:^he;
procedure abcde;
var
hh:he;
begin
new(P);
p=pointer(hh);
hh.abc:='kdkd';
hh.aaa:='alsdkasdf';
hh.sss:=23;
end;则通过这样的方法,一个指针中存了一个记录结构he,包括三个类型,同样可以存别的,你明白了吗。
var
B: ^Byte;
Buffer: PChar;
begin
GetMem(Buffer, 5);
StrCopy(Buffer, PChar('1234'));
B := Pointer(Buffer);
ShowMessage(string(B));
FreeMem(Buffer);
end;