[問題] 副程式動態宣告記憶體一問

作者: Dioooo (oooooooooooo)   2015-05-02 20:59:59
大家好~小弟又有個觀念問題想請教一下~
想請問一下如果主程式想要副程式動態分配出記憶體給p,
當再回到主程式時,記憶體好像會被回收掉??
但我的指標變數p是主程式丟過去的,所以生命週期應該
隨主程式結束後,記憶體才會回收才對??
void test(char *ptr)
{
ptr = (char*)malloc(sizeof(char));
*ptr = 10;
}
int main(void)
{
char *p;
test(p);
printf("%d\n",*p);
}
這邊觀念有錯的話還請版友指正,謝謝~
作者: TobyH4cker (Toby (我要當好人))   2015-05-02 21:08:00
十戒
作者: OPIV (Monitor)   2015-05-02 21:17:00
五戒
作者: scwg ( )   2015-05-03 09:26:00
這跟五戒無關吧? 反而是 D(13) 戒的範例幾乎一模一樣
作者: final01 (牛頓運動定律)   2015-05-03 10:02:00
前面不就討論過這了
作者: OPIV (Monitor)   2015-05-03 16:30:00
ptr不就是區域性自動變數指標嗎...怎麼會跟五戒沒關
作者: PkmX (阿貓)   2015-05-03 20:38:00
因為他錯到根本連把他回傳都沒有XDrz
作者: scwg ( )   2015-05-04 23:32:00
OPIV: 1. 沒有回傳 2. 不是 *指向* 區域性自動變數的指標

Links booklink

Contact Us: admin [ a t ] ucptt.com