Re: [請益] 指標的問題

看板Programming作者 (IWH68S0XZ8M89)時間16年前 (2007/12/07 08:34), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/8 (看更多)
※ 引述《readonly (唯讀)》之銘言: : 不過如果是只能看到function prototype,例如用別人的library, : void f( object * p ); : object * p; : f( p ); : 一般人應該會這樣寫,這不就危險了? 所以這個f的文件裡就要說明他收的p是個怎樣的參數 看要是個合法變數的位址或是陣列等等 然後要指示說這必須要用如 f(&var); 這樣傳進去 (如果要傳個變數的位址進去的話) : ※ : 只是有點好奇,這樣的寫法要用在什麼情況? C語言中當該參數是輸出用的時候或是可能改動到該參數時 (有時會被特稱(且誤稱)為call by adderss) 也許是因為回傳太多東西 也許是因為回傳值是個陣列或是個還滿大的東西 而必須要把其中一個或多個放到參數列去 例如<time.h>中有個函式叫gettime 它是這樣的prototype: void gettime(struct time *); 它的功能是回傳(以struct time紀錄的)目前時間 那因為這個參數是輸出用 所以就要傳進變數的位址進去 例如要用 struct time t; gettime(&t); 這樣去使用它 -- [LPH] Oops, your OOP's a problem? 說: 你現在還是看不到狗? ************* 說: 看得到 只是 他們不會跑 就一直呆呆在那邊 一直在起點 [LPH] Oops, your OOP's a problem? 說: 你要按"ㄅㄧㄤˋ"它們才會跑啊@@" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.91.5 ※ 編輯: LPH66 來自: 140.112.91.5 (12/07 08:35)
文章代碼(AID): #17M9Kbg- (Programming)
討論串 (同標題文章)
文章代碼(AID): #17M9Kbg- (Programming)