水常东柳 2021-09-14 09:30 采纳率: 0%
浏览 34

链队列的节点如何存储带指针的结构体?

一开始没考虑结构体里的指针成员的malloc问题,结果就是内存泄漏,无法释放存入队列的结构体中的指针成员原先申请的空间;后来考虑在入队时为结构体的指针成员malloc空间再赋值,但是出队时会出现内存方面的错误,且无法free结构体中的指针成员

img

img

img

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2021-09-14 09:34
    关注

    memcpy(e1->buff,p->data.buff,p->data.len)
    这里你*e1 = p->data,那么e1->buff就是p->data->buff啊
    memcpy没啥意义
    最后free(p->data.buff)就把e1->buff指向的空间释放掉了,buff就成野指针啦

    评论

报告相同问题?

问题事件

  • 创建了问题 9月14日