【问题标题】:How can i point to another pointer then increment the first one's value without changing the second's value我如何指向另一个指针然后增加第一个的值而不改变第二个的值
【发布时间】:2017-01-08 16:38:17
【问题描述】:

如何在不实际更改列表的情况下使用 X 遍历列表->tete 值

celluleS* rechercherC(listeS *list,int val){

celluleS *X = list->tete;
celluleS *Y = NULL;

while(X != NULL && X->s != NULL && val != X->s->value ){
    Y = X;
    X = X->succ;
}


return Y;
}

【问题讨论】:

  • 你想在不改变链表头地址值的情况下迭代链表吗?
  • 您在哪里更改 list->tete 值?

标签: c list pointers while-loop


【解决方案1】:

您的代码中绝不会更改 list->tete 值。

*X = list->tete 表示 X 是指向链表头的指针

您的分配 Y = X;X = X->succ; 不会更改 X 和 Y 指向的值,也不会更改列表的任何属性。

如果 list->tete 的值发生变化,则说明您正在代码中的其他位置更改该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 2013-09-08
    相关资源
    最近更新 更多