请教各位大侠,LM3S8962 动态链表增加节点异常问题,麻烦帮忙看下是什么原因?

2019-03-24 15:03发布

我想创建一个动态链表,在遍历找末尾节点的时候,程序直接死掉。(如果第一个节点只能指向全局变量,则程序正常)。 请各位大侠帮忙看下是什么情况。多谢! 代码如下: //定义 typedef  struct snode
{
    SendNode  p_node;
    struct snode *next;
} SendLink;   static SendLink   *UDPLinkHead  = NULL;//链表头,全局变量   增加新节点代码   new_link = (SendLink *)mem_malloc(sizeof(SendLink)); ......     if (UDPLinkHead == NULL)
  {
       UARTprintf("Netlink is null ");
      UDPLinkHead = new_link;
  }
  else
  {
        //find link tail and add node
       tempLink = UDPLinkHead  ;
      while(tempLink->next != NULL)
      {
           tempLink = tempLink->next;
      }
      tempLink->next = new_link ;
  } [ 本帖最后由 zhypabc 于 2012-1-4 15:54 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
zhypabc
2019-03-25 02:34
< :TI_MSP430_内容页_SA7 --> 问题找到了,非法释放内存导致内存被改写造成的,最后一个节点指向的指针不为空了。

一周热门 更多>

相关问题

    相关文章