删除单链表的头结点?

kenMaster 2002-08-23 12:17:53
书上写着
struct LNode *q=*p,*t;
if(i==1)
{t=q;
*p=q->next;
}
请问*p=q->next;这一步的具体含义是什么?
...全文
121 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
joshstone 2002-08-23
  • 打赏
  • 举报
回复
你应该看了,你说的链表结构是单链表,结构为 数据+指针。
struct LNode *q=*p
是指将原来的第一个头节点的地址放到q上面去。
*p=q->next;
是指将原来头节点指向下一个节点地址放到第一个节点,那么指针指向的第一个节点的地址就为第二个了,这样就把第一个节点删了啊!
jieshen 2002-08-23
  • 打赏
  • 举报
回复
就是p指向的结点在q所指结点下一个结点。
kbsoft 2002-08-23
  • 打赏
  • 举报
回复
指针p指向q的下一个接点,当p志向head时,就删除

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧