1

我试图插入到链表的前面,并在 head 为 NULL 时返回分配的 head,但它似乎只在 head 不为 NULL 的情况下工作。

本质上,如果

node* x = NULL;

x = addfront(x, 3)

有效的?

4

2 回答 2

3

只要您不尝试取消引用它们,空指针就可以了。

就像是

node* x = NULL;
x = NULL;

完全没问题。

于 2013-03-01T15:22:40.533 回答
3

是否使用一个函数,该函数使用空指针作为 C 中有效的参数分配给空指针?

这取决于addfront内容。只要您不取消引用xin addfront,它就完全有效,因为取消引用空指针是一种未定义的行为。

它似乎只在 head 不为 NULL 的情况下才有效。

我们需要addfront源代码。如果您不取消引用x,则错误在其他地方。

于 2013-03-01T15:22:43.173 回答