全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1290
推到 Plurk!
推到 Facebook!

指標變數內容無法複製?

答題得分者是:chenyk
poolqa
一般會員


發表:1
回覆:0
積分:0
註冊:2007-11-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-30 02:13:34 IP:218.169.xxx.xxx 訂閱
我在寫到有關指標動態聯結到其他變數之後,
想要複製該變數的值出來,可是一直都會修改到原來的變數。
程式碼大概如下。
[code delphi]
type
grecord = record
s1 :String;
s2 : String;
end;
VAR
DATA : ^grecord;
rStr , Str : grecord;
begin
Data := @Str;
rStr = Data;
end;
[/code]
我修改了rStr的值,連原本Str的值也跟著一起變動。
有辦法可以複製內容出來,而不是指到原本的位址嗎?
chenyk
高階會員


發表:14
回覆:95
積分:171
註冊:2002-07-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-01 10:52:13 IP:202.39.xxx.xxx 訂閱
這樣的寫法,由於rstr 和 str 都索引同一個資料位址,
所以一定會改到 str的資料
你只能
在 str 的資料變更前,執行
rstr := str;
備份str的原始資料,使用指標並不適合你這個範例
系統時間:2024-05-16 4:50:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!