malloc():corrupted top size是什么意思

14ifxucb  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(389)

我试图将一个struct指针附加到一个动态分配的数组中。之后我返回添加到数组中的struct指针。然后将其解引用并放入我想要打印出来的变量中。我的问题是,当我试图访问一个值(即struct.id)时,编译器告诉我malloc(): corrupted top sizeAborted (core dumped)
到目前为止,我所看到的每一个地方都只是简单地回答了如何修复这个问题,但我似乎无法弄清楚它实际上意味着什么,或者只是找到了对我没有帮助的非常模糊的定义。而且没有一个解决方案适用于我的特定条件。

uelo1irk

uelo1irk1#

malloc(): corrupted top size是什么意思
这意味着您的程序调用了***U***ndefined***B***事件,很可能是通过访问其边界之外的已分配内存块。
但它也可能是由其他原因引起的(例如,不相关的内存访问更改了包含malloc ed内存元数据的内存)。
也没有一个解决方案适用于我的特定条件。中止(核心转储)
这是UB表达自己的方式之一。它不是“你的条件”。你需要找到是什么在调用UB。

相关问题