亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您好,請問c語言在子函數中使用malloc,會自動free嗎?有例子嗎?

您好,請問c語言在子函數中使用malloc,會自動free嗎?有例子嗎?

C PHP
素胚勾勒不出你 2022-01-01 10:06:19
我的子函數返回值是一個指針,在子函數中我先用malloc定義了這個指針,然后return該指針。那在子函數里需要free嗎?如果在return之前free了 不是就不能return了所以我感覺只要主函數所有malloc都free了,就沒事。這個對嗎??
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

如果子函數需要return一個內部分配的空間,那么釋放就歸調用者來free了,否則內部free再返回已經是無效空間
不過一般不這樣做,一般誰分配誰釋放建議主函數分配傳入然后子函數自己往里面存東西,再由主函數負責釋放

查看完整回答
反對 回復 2022-01-04
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

C沒有自動釋放功能,需要手動free掉malloc的堆空間。如果malloc空間后忘記free就會造成內存泄露問題:內存泄露是一個比較麻煩的問題,要是malloc少量空間而不free,在測試階段很難發現,而投入生產中可能就會變成大量malloc而不free,內存空間沒了,然后程序就掛了

查看完整回答
反對 回復 2022-01-04
  • 2 回答
  • 0 關注
  • 251 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號