c - 链表添加新的根元素

标签 c list linked-list nodes

我正在尝试将新的根元素添加到我的链接列表中。我已经知道正确的答案,但我不明白为什么有一个指向当前根元素的双指针。正确的代码如下:

void elementAsRoot(Element **oldRoot, Element *newRoot){
  newRoot -> next = *oldRoot;
  *oldRoot = newRoot;
}

最佳答案

我非常确定您可以删除双指针,因为您最终会取消引用双指针。

void elementAsRoot(Element *oldRoot, Element *newRoot) {
  newRoot->next = oldRoot;
  oldRoot = newRoot;
}

关于c - 链表添加新的根元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656169/

相关文章:

c - 用 C 编程生命游戏 - 按位运算问题

c - 在ubuntu中使用sigaction()实现Signal()

c - gcc 如何确定 x86 上的 -march=native? ARM 上?

c - 为什么 *(a+b) 在 C 而不是 a[b] 中工作?

python - 解释python列表理解技术

python使用键加入列表列表的列表

c - 链表删除并返回第一个元素

java - 如何返回和清除列表?

java - 我在反转这个链表的一部分时做错了什么?

java - Java LinkedList 会分配多少空间?