gpt4 book ai didi

c++ - 指向指针赋值的指针

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

我有一个这样的链表:

typedef struct _LIST_ELEMENT
{
T* data;
_LIST_ELEMENT* nextItem;
int index;

}LITEM,*P_LITEM,**PP_LITEM;

和四个指向指针的指针

PP_LITEM _head;
PP_LITEM _tail;
PP_LITEM _current;
PP_LITEM _previous;

情况是这样的:

我在列表中有 4 个元素,_head 指向第一个,_tail 指向最后一个,_current 和 _previous 作为游标一起工作。在我删除索引为 2 的元素后,该列表包含 3 个索引为 0,1 和 3 的元素,并且所有指针都指向右。此时如果我这样做(将光标移动到开始):

(*_previous) = (*_tail);
(*_current) = (*_head);

列表缺少索引为 1 的元素,但所有指针都正确指向。如果我这样做:

_previous = &(*_tail);
_current = &(*_head);

一切都很好,没有遗漏任何东西。

如果有人知道为什么会这样,请赐教。

最佳答案

(*_previous) = (*_tail)_previous = &(*_tail) 意思完全不同。

(*_previous) = (*_tail) 表示“将_previous指向的事物的值设置为等于_tail

_previous = &(*_tail) 等同于_previous = _tail,所以它的意思是“设置_previous指向同一个像 _tail 一样。

关于c++ - 指向指针赋值的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281400/

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