关于 链式存储结构的 线性表 释放动态空间问题
int freeP(List P,int *Len)//P是一个链式存储结构的线性表,*Len是长度{
int i;
List Free;//定义一个中间变量
Free=(list *)malloc(sizeof(int)+sizeof(List));//分配空间
if(!Free) return ERROR;
for(i=0;i<=*Len;i++){
Free=P;//把P付给Free
free(P);//释放P
P=(list *)malloc(sizeof(int)+sizeof(List));//在给P分配空间
if(!P) break;
P=Free->next;//然后把Free->next付给P
}
return OK;
}
为什么不能这么释放链表的 空间??
为什么会出错??
我个人觉得应该没问题啊。