读书人

队尾指针丢失,该怎么解决

发布时间: 2013-11-25 13:22:27 作者: rapoo

队尾指针丢失
当队列中的最后一个元素被删后,队列尾指针也丢失了,因此需对队尾指针重新赋值(指向头结点)

Status DeQueue (LinkQueue &Q, 
QElemType &e) {
// 若队列不空,则删除Q的队头元素,
//用 e 返回其值,并返回OK;否则返回ERROR
if (Q.front = = Q.rear) return ERROR;
p = Q.front->next; e = p->data;
Q.front->next = p->next;
if (Q.rear = = p) Q.rear = Q.front;
free (p); return OK;
}


这里队尾指针是属于指针悬挂吗?
指针悬挂具体又指什么? 数据结构 队列 c语言 指针悬挂
[解决办法]

free (p);
p =NULL;
//悬挂指针也就是野指针,有地址,但是不知道指向什么地方!

[解决办法]
没那句if的话,自然是发生你顶楼说的那个问题...

读书人网 >C语言

热点推荐