正在努力学习的小白袁 2022-07-13 18:29 采纳率: 90%
浏览 39
已结题

在除了main函数可以改变结构指针?

在主函数中定义了一个结构体指针变量作为实参被其他函数,在该函数中改变了head的指向,返回后会在main里改变head的指向吗?

img

img

img


如果改变不了,那我该怎么使用操作呢?

  • 写回答

2条回答 默认 最新

  • 新手村小弟 2022-07-13 21:06
    关注

    1.head在实参中传的是地址,假如子函数用来增加结构,便是在head所提供的地址上增加。
    2.但你的head一开始为NULL,到子涵数的便为null在此基础上增加结构,所以主函数的head找不到链表。
    3.所以可以用,head=invent(head);这样主涵数head的指令是链表的头地址。(invent返回return head;)这样主函数中的地址就得到了改变。下次再次调用便是增加列表的地址。
    4.特注:我们在函数中传送的是地址。地址是不会改变。但是null不管是在此基础上增加还是减少,他等于重新创一个地址。(我并没有仔细看题主的程序,仅凭文字猜测)

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

报告相同问题?

问题事件

  • 系统已结题 7月22日
  • 已采纳回答 7月14日
  • 创建了问题 7月13日