c - 到 "head"还是不到 "head"?

标签 c pointers data-structures

我有一个不断递增的“指针”,我需要最终返回指针的“头”。我进退两难,要么使用“pointer[0]”,要么使用另一个名为“head”的变量并初始化它并在最后返回。我觉得前者使代码看起来很脏,后来占用的内存很少。有什么干净的建议吗?

最佳答案

你总是需要两个变量:

Foo *head = getSomeList();
Foo *tail = head;
while (tail->isValid())
  ++tail;
// You have head and tail here

因为 tail[0] != head(除非列表为空),您无法真正以不同方式实现它。

展示代码并告诉我们您尝试实现的目标可能会得到更好的答案。

关于c - 到 "head"还是不到 "head"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3618629/

相关文章:

c++ - 如何在同一线程中从 Windows 中的多个管道读取

C 数组赋值使用大括号语法

algorithm - 我对此算法的复杂度 O(n + k log n) 的解释是否正确?

c++ - 基于范围的 for 循环与 const shared_ptr<>

malloc() 可以用来定义数组的大小吗?

java - 这个函数(for 循环)空间复杂度是 O(1) 还是 O(n)?

c - C程序使用结构重新排列列表

c - Dev C++ 中的 main() 与 int main()

函数中的冲突类型

c++ - 使用 __builtin_expect() 或 Linux 内核时 "very likely"的可能性和可能性是多少