鱼C论坛

 找回密码
 立即注册
查看: 2054|回复: 1

请问队列链式存储入列的函数里面最后为什么不能释放p

[复制链接]
发表于 2021-11-30 17:38:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
typedef char Elemtype;
typedef struct Qnode
{
        Elemtype data;
        struct  Qnode *next;
}Qnode, * queueprt;
typedef struct
{
        queueprt front, read;
}qutelist;

void createlist(qutelist* s)
{
        s->front = s->read = (queueprt)malloc(sizeof(Qnode));
        if (!s->front)
        {
                exit(0);
        }
        s->front->next = NULL;
}

void push(qutelist* s, Elemtype e)
{
        queueprt p;
        p = (queueprt)malloc(sizeof(Qnode));
        if (p == NULL)
        {
                exit(0);
        }
        p->data = e;
        p->next = NULL;
        s->read->next = p;
        s->read = p;
free(p)//这里加释放掉p就会出错
}
void pop(qutelist* s, Elemtype* e)
{
        queueprt p;
        p = (queueprt)malloc(sizeof(Qnode));
        if (s->front == s->read)
        {
                exit(0);
        }
        p = s->front->next;
        *e = p->data;
        s->front->next = p->next;
       
        if (s->read == p)
        {
                s->read = s->front;
        }
        free(p);
}
void freelist(qutelist* s)
{
        while (s->front)
        {
                s->read = s->front->next;
                free(s->front);
                s->front = s->read;
        }
}
int nulllist(qutelist s)
{
        if (s.front == s.read)
        {
                return 1;
        }
        else
                return 0;
}
void main()
{
        qutelist s;
        Elemtype c;
        createlist(&s);
        scanf_s("%c", &c);
        while (c != '#')//输入一串字符,以#号结束
        {
                push(&s, c);
                scanf_s("%c", &c);
        }
        getchar();
        pop(&s, &c);
        while (!nulllist(s))
        {
                printf("%c", c);
                pop(&s, &c);
        }
        printf("%c", c);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-11-30 17:39:29 | 显示全部楼层
求助求助!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 17:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表