[問題] C語言將指標丟進函式malloc記憶體問題

看板C_and_CPP (C/C++)作者 (NULL)時間11年前 (2015/04/01 18:05), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) BCB 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NO 程式碼(Code):(請善用置底文網頁, 記得排版) example: void foo(char* buf, int size) { n = ...//計算得 buf = (char*)malloc(size+n); //省略 } void main() { char* ptr; foo(ptr); //利用ptr指向的記憶體做事 } 補充說明(Supplement): 我想要宣告一個指標,我有需求要在foo裡面realloc/malloc所以傳指標進去foo() 在C++的環境下 我使用call by reference void foo(char* &buf, int size)時可以完成我的目的 但我後來發現在C的環境中無法使用reference 用void foo(char* buf, int size)已我目前水準無法正確的在副程式malloc記憶體, 後來供主程式使用這塊記憶體. 在副程式裡面malloc記憶體再將指標傳回當然是可以做, 但是好奇假如限制用 void foo(char* buf, int size) 是否有辦法完成我要的目的? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.116.194 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1427882743.A.816.html

04/01 18:08, , 1F
再加一層 *
04/01 18:08, 1F

04/01 18:17, , 2F

04/01 18:17, , 3F
大多數情況下reference是讓多一層*變比較好看
04/01 18:17, 3F

04/01 18:48, , 4F
多謝兩位高手提示,小弟已用**buf試出來了 謝謝!
04/01 18:48, 4F

04/02 22:35, , 5F
指標指標
04/02 22:35, 5F
文章代碼(AID): #1L6yBtWM (C_and_CPP)
文章代碼(AID): #1L6yBtWM (C_and_CPP)