【发布时间】:2015-11-06 10:52:13
【问题描述】:
我找到了一个有用的页面,它解释了how to use double pointers in a linked list。
但有几点我无法理解。
void AddNodeSorted(node* pNewNode)
{
node** ppScan = &pRootNode;
while(*ppScan != NULL && compare(*ppScan,pNewNode))
ppScan = &(*ppScan)->pNext;
pNewNode->pNext = *ppScan;
*ppScan = pNewNode;
}
在这个函数中,我无法理解最后两行是如何工作的。在我看来,在while loop 之后,新项目需要在ppScan 间接指向的元素之前插入。
所以pNewNode->pNext = *ppScan 工作正常。那么*ppScan = pNewNode 是什么意思呢? pNewNode->next = pNewNode??
【问题讨论】:
标签: c linked-list double-pointer