分配空间的字符串数组,释放时出有关问题,请指点

分配空间的字符串数组,释放时出问题,请指点
char   *   p_recvmsg;   //动态分配
p_recvmsg=new   char   [50];
memset(p_recvmsg,0x00,50);//赋值为空
.......
char   *pc_temp=(char   *)malloc(120);
memset(pc_temp,0x00,120);

long   i_len   =   strlen(p_recvmsg);
char   pc_[10];
memset(pc_,0x00,10);
for(long   i_lop=0;i_lop <i_len;i_lop++)
{
pc_[0]=p_recvmsg[i_lop];
if(p_recvmsg[i_lop]==char(13))
{
p_list-> AddString(pc_temp);
memset(pc_temp,0x00,120);
}
                else
{
strcat(pc_temp,pc_);
}//进行这些操作后,
delete   []pc_temp;//没问题
delete   []p_recvmsg;//会出现内存泄露问题
请指点一二!!!!

------解决方案--------------------
靠用C malloc分配的干什么用delete啊,用free释放……
------解决方案--------------------
free pc_temp;
------解决方案--------------------
free(pc_temp);
free是函数
void free(void *);
------解决方案--------------------
是内存泄露还是程序崩溃啊?你不说是啥问题,咋帮你。