程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 指針-請問內存池memory pool和malloc混合使用??

指針-請問內存池memory pool和malloc混合使用??

編輯:編程解疑
請問內存池memory pool和malloc混合使用??

內存池中分配的內存會被內存池自動釋放,如果我有如下情況,請問會不會產生crash或者memory leak等問題?
我有struct A,是用內存池分配的內存, A.t2也用內存池分配內存。struct B是用malloc分配的內存,最後手動free掉。現在的問題是我把A.t2賦值給B.t3.這樣當我free struct B的時候,會手動free掉其中的變量GG對應的內存,然後再手動FREE掉struct B, 可是如果free完struct B之後,t3會不會就變成野指針了,對應的內存塊就不會被釋放,產生內存洩漏?還是說內存池會自動處理t3對應的內存?
struct A {
double val;
struct B* t1;
struct C* t2;
}
struct B {
int cc;
struct C* t3;
double* GG;
}

最佳回答:


析構struct B之後,t3 = NULL,對應struct A內存A.t2,需要內存池回收

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved