请教关于释放内存的问题

jians 2002-08-01 04:06:01
如下:
typedef struct PARA
{
char pszArray[32+1];
char* pParam;
char** pResp;
}
PARA,*PPARA;

PPARA pPara = new PARA;
memset(pPara,0,sizeof(PARA));
strcpy(pPara->pszArray,"Test");

pPara->pParam = new char[30];
memset(pPara,0,30);
strcpy(pPara,"Test1");

char* pTmp = new char[30];
memset(pTmp,0,30);
pPara->pResp = &pTmp;

//...使用pPara

delete pPara; //我的问题是这句是否能把所有内存都释放掉,还是
//还需要把delete pPara->pParam;
//delete *(pPara->pResp)等加上才释放完全??
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
piaorenqian 2002-08-01
  • 打赏
  • 举报
回复
需要加上delete pPara->pParam;
delete *(pPara->pResp)等
才能完全释放
书生 2002-08-01
  • 打赏
  • 举报
回复
Mark@_@

sure.

:)
wt_sanlian 2002-08-01
  • 打赏
  • 举报
回复
当然要加上,你做了多少次分配,就得做多少次释放.
delete pPara只是释放了PARA这个结构所占有的内存.
我不懂电脑 2002-08-01
  • 打赏
  • 举报
回复
需要把delete pPara->pParam;
//delete *(pPara->pResp)等加上才释放完全??

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧