如何取得記憶體位址 |
尚未結案
|
pricejit2
一般會員 發表:53 回覆:18 積分:14 註冊:2005-01-28 發送簡訊給我 |
請問 一下為什麼下面這段程式不能取得y變數的位址
那我又該如何寫呢 procedure TForm1.Button1Click(Sender: TObject);
var x,y:integer;
p:^string;
j:string;
q:string;
begin
y:=200000; //PChar(s)^ s:string
x:=3123000;
y:=x y;
edit2.Text:=inttostr(y);
p:=@y; //$403617
j:=p^;
q:=copy(j,2,2);
edit1.Text:=q;
end;
|
wyndog
資深會員 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
^string 的意思,是把它指向的地方看成是個字串
而你的 p 卻是指向 y,y 的值卻是數值
這樣當然得不到你要的結果 改成這樣吧
procedure TForm1.Button1Click(Sender: TObject); var x,y: integer; p: integer; q: string; begin y := 200000; x := 3123000; y := x y; Edit1.Text := IntToStr(y); p := integer(@ y); q := IntToStr(p); Edit1.Text := q; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |