学习Delphi指针中遇到的一个小问题... ( 积分: 30 )

  • 主题发起人 主题发起人 emughost
  • 开始时间 开始时间
E

emughost

Unregistered / Unconfirmed
GUEST, unregistred user!
type
P=^string;
PP=^integer;

var
P1:P;
P2:PP;
Y:string;

begin
Y:='1000';
P1:=@Y;
P2:=@P2
//以下输出的部分数字可能因机器不同而有相应变化!
writeln('Y:',Y)
//1000;
writeln('@Y:',integer(@Y))
//4237216;
writeln('P1^:',P1^)
//1000;
writeln('P1:',integer(P1))
//4237216;
writeln('P2^:',P2^)
//4237212;
writeln('P2:',integer(P2))
//4237212;<就是这一句,怎么会和上面输出相同的值呢?>
readln;
end.
请熟悉Delphi指针的朋友介绍一下.谢谢!本人对指针不是很了解,而且手头上的书都没有说明这种问题.只是随便试试看的,结果出现了这个问题.
 
type
P=^string;
PP=^integer;

var
P1:P;
P2:PP;
Y:string;

begin
Y:='1000';
P1:=@Y;
P2:=@P2
//以下输出的部分数字可能因机器不同而有相应变化!
writeln('Y:',Y)
//1000;
writeln('@Y:',integer(@Y))
//4237216;
writeln('P1^:',P1^)
//1000;
writeln('P1:',integer(P1))
//4237216;
writeln('P2^:',P2^)
//4237212;
writeln('P2:',integer(P2))
//4237212;<就是这一句,怎么会和上面输出相同的值呢?>
readln;
end.
请熟悉Delphi指针的朋友介绍一下.谢谢!本人对指针不是很了解,而且手头上的书都没有说明这种问题.只是随便试试看的,结果出现了这个问题.
 
已经解决了.
 
接受答案了.
 
后退
顶部