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



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



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就成野指针啦