C 至;标题「;还是不去;标题“;?

C 至;标题「;还是不去;标题“;?,c,pointers,data-structures,C,Pointers,Data Structures,我有一个不断递增的“指针”,最后我需要返回指针的“头”。我左右为难,要么使用“指针[0]”,要么使用另一个名为“head”的变量并初始化它,最后返回。我觉得前者会使代码看起来脏兮兮的,而后又会消耗很少的内存。有没有明确的建议?您始终需要两个变量: Foo *head = getSomeList(); Foo *tail = head; while (tail->isValid()) ++tail; // You have head and tail here 因为tail[0]!=h

我有一个不断递增的“指针”,最后我需要返回指针的“头”。我左右为难,要么使用“指针[0]”,要么使用另一个名为“head”的变量并初始化它,最后返回。我觉得前者会使代码看起来脏兮兮的,而后又会消耗很少的内存。有没有明确的建议?

您始终需要两个变量:

Foo *head = getSomeList();
Foo *tail = head;
while (tail->isValid())
  ++tail;
// You have head and tail here
因为
tail[0]!=head
(除非列表为空)


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

也许您应该显示代码以使问题更清楚。使用temp变量并通过引用存储地址。请在上面添加更详细的有点混乱的语句;温度=字符串;进程字符串{string++..}返回(字符串[0])?还是返回温度?哪个更好?如果你在做
string++
,你会发现
string[0]
temp
不同。