線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1238
推到 Plurk!
推到 Facebook!

請問如何傳遞實體指標給函數

答題得分者是:syntax
chang1981
一般會員


發表:31
回覆:28
積分:11
註冊:2008-09-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-16 10:25:01 IP:61.230.xxx.xxx 訂閱
各位前輩好,小弟最近在寫一些需要傳遞指標的程式,但在傳指標時遇到了問題
因為我希望能將指標實體直接丟給函數,而不是丟指標內容讓函數宣告新指標去指向相同內容
換句話說 主程式的指標 跟函數的指標 希望是同一之指標(同記憶體位置)
如果照一般的寫法:
main()
{
mystruct *mp;
myfun(mp);
}


myfun(mystruct *fp)
{

}

這樣子fp是另外一個新的指標(跟mp不同記憶體位址)
只是指向的位址跟mp一樣 但fp在myfun處理中如果有被移動
mp並不會跟著動, 因為小弟的資料結構是一個鍊結串列
所以希望fp跟mp能夠保持同步,以方便函數處理完後 主程式利用mp作後續處理
所以想請教如何在函數中宣告一個跟mp實體相同的指標
或是前輩們針對這種狀況有更主流或更好的作法呢? 煩請不吝賜教! 感恩!!
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-17 07:51:47 IP:118.231.xxx.xxx 訂閱

myfun(&mp)

myfun(mystruct *fpp)
{
mystruct *fp

fp = *fpp;
.
.
.
}


===================引 用 chang1981 文 章===================
各位前輩好,小弟最近在寫一些需要傳遞指標的程式,但在傳指標時遇到了問題
因為我希望能將指標實體直接丟給函數,而不是丟指標內容讓函數宣告新指標去指向相同內容
換句話說 主程式的指標 跟函數的指標 希望是同一之指標(同記憶體位置)
如果照一般的寫法:
main()
{
mystruct *mp;
myfun(mp);
}


myfun(mystruct *fp)
{

}

這樣子fp是另外一個新的指標(跟mp不同記憶體位址)
只是指向的位址跟mp一樣 但fp在myfun處理中如果有被移動
mp並不會跟著動, 因為小弟的資料結構是一個鍊結串列
所以希望fp跟mp能夠保持同步,以方便函數處理完後 主程式利用mp作後續處理
所以想請教如何在函數中宣告一個跟mp實體相同的指標
或是前輩們針對這種狀況有更主流或更好的作法呢? 煩請不吝賜教! 感恩!!
chang1981
一般會員


發表:31
回覆:28
積分:11
註冊:2008-09-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-10-17 08:41:52 IP:61.230.xxx.xxx 訂閱
感謝S大,快狠準解決了我的問題!!!!!! 
系統時間:2024-05-04 16:29:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!