| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1454 人关注过本帖
标题:双向链表问题,debug 在while((tmp->pnext) !=NULL) stm32会重启
取消只看楼主 加入收藏
j15506271841
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-8-19
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
双向链表问题,debug 在while((tmp->pnext) !=NULL) stm32会重启

typedef struct {
    uint8_t title_num;
    DRAW_PARA *title;
    uint8_t content_num;
    DRAW_PARA *content;
}PAGE_DATA;

typedef struct page_config{

    uint8_t page_n;
    PAGE_DATA *temp;
    char (*pdata)[40];
    struct page_config *pnext;
    struct page_config *pprev;

}PAGE_CONFIG;


PAGE_CONFIG* initLine(PAGE_CONFIG * head){
  
    head=(PAGE_CONFIG*)malloc(sizeof(PAGE_CONFIG));
 
    head->pprev=NULL;
    head->pnext=NULL;

    PAGE_CONFIG * list=head;
   
    for (int i=0; i<5; i++) {
        
        PAGE_CONFIG * body=(PAGE_CONFIG*)malloc(sizeof(PAGE_CONFIG));
        body->pprev=NULL;
        body->pnext=NULL;
        body->temp = &page_data[i];
        body->page_n = i;
        body->pdata = NULL;
        
        list->pnext=body;
        body->pprev=list;
      
        list=list->pnext;
    }
    return head;
}

PAGE_CONFIG* InsertTailNode(PAGE_CONFIG * head){
   
   
    PAGE_CONFIG *tmp = head;
    if(head == NULL)return 0;
        
    while((tmp->pnext) !=NULL)
    {
        tmp = tmp->pnext;
        nnn++;
    }
   
    PAGE_CONFIG *tailnode = (PAGE_CONFIG*)malloc(sizeof(PAGE_CONFIG));
    if(tailnode == NULL)return 0;
   
   
        tailnode->pdata = NULL;
        tailnode->temp = NULL;
        tailnode->page_n = nnn+1;
    tmp->pnext = tailnode;
    tailnode->pprev = tmp;
    tailnode->pnext = NULL;
   
    return head;
}


    Head = initLine(Head);
    current = Head->pnext;.
程序运行到InsertTailNode 函数内的    while((tmp->pnext) !=NULL) 就飞了, 应该是InsertTailNode 函数写的有些问题,求大神分析下



搜索更多相关主题的帖子: while struct NULL return head 
2021-08-19 10:23
j15506271841
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-8-19
收藏
得分:0 
谢谢各位,代码我在网上抄的,是比较奇怪
2021-08-19 15:07
快速回复:双向链表问题,debug 在while((tmp->pnext) !=NULL) stm32会重启
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023731 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved