我目前正在做一个C语言任务,这是我第一次真正理解指针。我大部分都是掌握了它,但它将我抛到了最底层(至少在我眼中),而且我遇到了一种情况。如何在C函数中设置未初始化指针的值?
我有一个指向结构structPtr
的指针,其中包含指向链表((headPtr).nextNode等的头节点的指针headPtr
)。
现在我通过一个函数向这个列表添加节点,但是我的问题是当我第一次设置头节点时,我只能用(*structPtr).headPtr = &newNode
来设置它。但是这是在功能范围内,并且测试似乎告诉我,在功能结束后,将转储新节点&。我想要做(*(*structPtr).headPtr) = newNode
,但这会导致分段错误,即使我设置了(*structPtr).headPtr = NULL
。
任何指导?
显示您的代码。 –
我会假设你没有为structPtr分配内存,但向我们展示代码 – Salgar
@Salgar看起来你是对的。对不起有一段代码要显示,所以我用一个(非常)基本的总结来解决。它似乎无论如何工作。 – andrewb