結構體內存釋放順序


結構體中如果存在動態分配內存的情況,一定要注意先釋放內部的內存,然后釋放結構體,釋放順序錯誤或者忘記釋放,都會導致內存泄露。

比如:

typedef struct TAGmyStr {

   char *p;

   int i;

   char ch[256];

}myStr;

myStr *pstNewStr = (myStr*)malloc(sizeof(myStr));

pstNewStr->p = (char*)malloc(256*(sizeof(char)));

那么釋放的時候一個是:

memfree(pstNewStr->p);

memfree(pstNewStr);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM