微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的代码链接列表不返回NULL和SEG FAULT

如何解决为什么我的代码链接列表不返回NULL和SEG FAULT

我尝试对要复制的模式进行编码,在结构指针中复制migrateFrom1To2(migration),但是当我的最后一个元素被打印时,这会导致/** * Example usage: * ```kotlin * val exception = assertThrows<IllegalArgumentException>("Should throw an Exception") { * throw IllegalArgumentException("Talk to a duck") * } * assertEquals("Talk to a duck",exception.message) * ``` * @see Assertions.assertThrows */ inline fun <reified T : Throwable> assertThrows(message: String,noinline executable: () -> Unit): T = assertThrows({ message },executable) 并且最后一个元素返回一个地址类型{ {1}}或linked list。我找不到在代码中遗漏的地方,可能是在结构中复制seg fault 0x0时发现的,但是我对0xF00000000000的了解是有限的。

下面,我尝试编写一个简单的代码来重现我的问题。

int dup(t_child **ref,t_child *src)

终端输出

linked list

解决方法

嘿,您是否检查过链表以NULL结尾,或者甚至将第一个指针设置为NULL

当您“移动”链接列表时,必须将NULL作为最后一个元素,以防诸如此类:

while(*ptr_on_list* != NULL)

您不能进行段错误。 因此,在到达NULL之前,还要检查您是否停止在链接列表中“移动”。

希望我能帮助您,如果没有,请随时注意我

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。