【发布时间】:2020-08-29 07:17:46
【问题描述】:
【问题讨论】:
-
如果您对答案感到满意,请标记它
标签: c pointers data-structures
【问题讨论】:
标签: c pointers data-structures
你的问题很难回答,缺乏细节。
如果c.mrb.next = c.free是一个等式,那么这意味着mrb的下一个条目与free相同,它是一个空块。
如果c.mrb.next = c.free 表示分配,则意味着您丢弃了在 mrb 之后可能拥有的所有条目,并放置一个空闲插槽。如果您在执行此操作之前没有将它们添加到 free 中,这可能是内存泄漏。
【讨论】:
我认为现在 c.mrb 将指向 c.free 指向的地址。另外,既然你说 mrb 和 free 是指针,那么基本上你是在做一个指针操作。所以代码应该是这样的:
c->mrb->next = c->free
【讨论】: