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

时间:2013-03-01 15:20:45

标签: c singly-linked-list

我正在尝试插入到链表的前面,并且当head为NULL时返回一个已分配的头,但它似乎只在head不为NULL的情况下起作用。

基本上,如果

node* x = NULL;

x = addfront(x, 3)

有效?

2 个答案:

答案 0 :(得分:3)

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

这样的东西
node* x = NULL;
x = NULL;

完全没问题。

答案 1 :(得分:3)

  

使用一个使用空指针作为参数在C?

中有效的空指针赋值的函数

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

  

它似乎只适用于head不是NULL的情况。

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