【问题标题】:Data structures and pointers - C code interpretation数据结构和指针 - C 代码解释
【发布时间】:2020-08-29 07:17:46
【问题描述】:

我有以下数据结构(它的名字是c); mrb、next 和 free 是 3 个指针。 c.mrb.next=c.free 是什么意思? 也许指针mrb指向free指向的同一个对象?

感谢您的愿意。

【问题讨论】:

  • 如果您对答案感到满意,请标记它

标签: c pointers data-structures


【解决方案1】:

你的问题很难回答,缺乏细节。

如果c.mrb.next = c.free是一个等式,那么这意味着mrb的下一个条目与free相同,它是一个空块。

如果c.mrb.next = c.free 表示分配,则意味着您丢弃了在 mrb 之后可能拥有的所有条目,并放置一个空闲插槽。如果您在执行此操作之前没有将它们添加到 free 中,这可能是内存泄漏。

【讨论】:

    【解决方案2】:

    我认为现在 c.mrb 将指向 c.free 指向的地址。另外,既然你说 mrb 和 free 是指针,那么基本上你是在做一个指针操作。所以代码应该是这样的:

    c->mrb->next = c->free
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      相关资源
      最近更新 更多