[問題] 關於malloc空間位置回傳
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
想請問如果在某個函數內宣告一個指標,指向因malloc所產生的空間
當我要將空間的位置回傳時,是直接回傳這個指標
但是指標是在函數裡宣告的,那這樣這個指標一旦回傳就會消失
那這樣不就沒有指標指向那個空間,這樣的話為甚麼還是可以知道malloc空間的位置呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.166.162
推
03/11 00:46, , 1F
03/11 00:46, 1F
→
03/11 01:07, , 2F
03/11 01:07, 2F
→
03/11 01:07, , 3F
03/11 01:07, 3F
我的意思是函數內的指標是local variable,指向malloc空間,
然後在函數內,為了回傳malloc空間位置,所以return這個local variable,
return的動作做完了,
作為local variable的指標才消失,而這時位置已經傳回來了,
所以一定可以使用該位置??
※ 編輯: lueichun 來自: 111.251.166.162 (03/11 01:19)
→
03/11 01:19, , 4F
03/11 01:19, 4F
指標是在函數內宣告的,所以函數結束指標應該會跟著結束並消失的不是嗎
(因為函數是在stack內)??
※ 編輯: lueichun 來自: 111.251.166.162 (03/11 01:22)
→
03/11 01:20, , 5F
03/11 01:20, 5F
※ 編輯: lueichun 來自: 111.251.166.162 (03/11 01:25)
→
03/11 01:25, , 6F
03/11 01:25, 6F
→
03/11 03:25, , 7F
03/11 03:25, 7F
→
03/11 03:25, , 8F
03/11 03:25, 8F
推
03/11 12:34, , 9F
03/11 12:34, 9F
→
03/11 12:35, , 10F
03/11 12:35, 10F
→
03/11 12:36, , 11F
03/11 12:36, 11F
→
03/11 12:37, , 12F
03/11 12:37, 12F
→
03/11 12:38, , 13F
03/11 12:38, 13F
→
03/11 13:35, , 14F
03/11 13:35, 14F
→
03/11 13:37, , 15F
03/11 13:37, 15F
→
03/11 13:40, , 16F
03/11 13:40, 16F
→
03/11 13:40, , 17F
03/11 13:40, 17F