正在努力学习的小白袁 2022-10-05 09:10 采纳率: 90%
浏览 27
已结题

一结构体包含另一结构体的头指针和尾指针,改变其一指针但另一个也会变化,为什么?

最开始q→front和q→rear都指向空,在队列入队的时候,因为之前我定义了一个新的结构体,包含了队列的头指针和尾指针
,但是当我修改一节结构体q的front或者q的rear的时候,两个指针都会被改变,也就是说不管你是修改front还是rear,两个指针的next都会发生变化,请看下图的45行代码前后,所以问题是为什么q定义的结构体里包含的两个指针,但凡有一个指针的next被修改,则另一个也会被修改,这涉及到什么底层原理?
执行45行代码前

执行45行代码前

img

执行45行代码后

img

两者指向变化

img

  • 写回答

2条回答 默认 最新

  • X-道至简 2022-10-05 09:30
    关注

    看调试信息,貌似 front和rear开始指向的都是同一个地址 308, 如果是这样你改了一个其它那个一样改也是对的啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月30日
  • 已采纳回答 1月22日
  • 修改了问题 10月5日
  • 创建了问题 10月5日