gpt4 book ai didi

c - void * 指向列表中的 void *

转载 作者:行者123 更新时间:2023-11-30 15:31:28 25 4
gpt4 key购买 nike

我有一个这样的列表:

void * head = [void * a] --> [void * b] --> [void * b] --> NULL

给定void * head,我如何迭代列表?

每个 void * 都指向另一个 void *,列表中的最后一项指向 NULL

我想我需要使用void **,但我不完全确定。列表中的每个项目都不在连续的内存中。

最佳答案

I have a list like this [...]

这不完全是一个列表 - 它是一个多级指针,其级别在编译时未知。

I think I need to use void **, but I'm not completely sure

是的,你说得对!您可以一次取消一级指针的引用。

您可以执行以下操作:

  • 设置一个 while 循环,当 headNULL 时结束
  • 在循环内,创建一个 void **next,并将 head 分配给它
  • 现在取消引用 next,并将结果分配给head,如下所示:head = *next
  • 继续循环,直到 headNULL

循环的每次迭代都会删除另一级间接,直到到达最终指针。

关于c - void * 指向列表中的 void *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com