我目前正在用 C 语言做作业,这是我第一次真正必须理解指针。我大部分时间都在掌握它,但它让我陷入了困境(至少在我看来),而且我在一种情况下遇到了麻烦。
我有一个指向 struct 的指针structPtr
,其中包含指向headPtr
链表头节点的指针((*headPtr).nextNode 等)。
现在我通过一个函数将节点添加到这个列表中,但是我的问题是当我第一次设置头节点时,我只能设法用(*structPtr).headPtr = &newNode
. 但这是在函数内,测试似乎告诉我函数完成后,&newNode 被转储。我想做(*(*structPtr).headPtr) = newNode
,但这会导致分段错误,即使我设置了(*structPtr).headPtr = NULL
.
有什么指导吗?