关于free指针的指针分量
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)    
             {    
                         lib_Del_Link_All(&(*node)-> next);    
             }    
             if((*node)-> next==NULL)    
             {    
                         free((*node)-> pcField);//这里出错    
                         free((*node)-> pcValue);//这里出错    
                         *node=0;    
             }    
 }    
------解决方案--------------------怎么看后面两个if, 怎么觉得别扭.  
 自己gdb走一下吧
------解决方案--------------------链表太长,递归调用,栈溢出.
------解决方案--------------------用个while循环来free
------解决方案--------------------不是原因,但也有这个问题: 
         free((*node)-> pcField); 
         free((*node)-> pcValue); 
         *node=0;  
 --〉 
         free((*node)-> pcField); 
         free((*node)-> pcValue); 
         free((*node)); 
         *node=NULL;  
------解决方案--------------------lib_Del_Link_All(&(*node)-> next);  
 看不懂优先级了 
 改成 
 lib_Del_Link_All(&((*node)-> next));  
 试试