关于free指针的指针分量

来源:百度知道 编辑:UC知道 时间:2024/07/07 18:07:44
一个结构体
typedef struct TypeLink
{
char *pcField;
char *pcValue;
struct TypeLink *next;
}Link;

我会根据需要动态分配pcField和pcValue的空间,问题是,释放的时候出问题。提示段错误。肯定是指针问题。但是我以前编写类似函数没错啊。
函数是:
void lib_Del_Link_All(Link **node)
{
if(*node==NULL)
return;
if((*node)->next!=NULL)
{
printf("[%d] \n",__LINE__);
lib_Del_Link_All(&(*node)->next);
}
if((*node)->next==NULL)
{
free((*node)->pcField);//这里出错
free((*node)->pcValue);//这里出错
*node=0;
}
}
希望能有高人指点,插旗有追加奖金
问题解决了,是我在给分量赋值的时候使用了=符号
应该使用strcpy函数。
谢谢大家

我不知道你这句lib_Del_Link_All(&(*node)->next);
是不是应该这样lib_Del_Link_All(&((*node)->next));

有可能是由于你申请空间时不是用的malloc命令,如果提示Expression:_CrtIsValidHeapPointer(pUserData)的话