下面是我在 C 中的简单链表。我的问题在“headRef = &newNode;”中 这会导致分段错误。然后我尝试了“*headRef = newNode;” 这解决了段错误问题。尽管在我看来这两行代码以相同的方式工作,但为什么一个会导致 seg fault 而另一行不会呢?提前致谢。
struct node{
int data;
struct node* next;
};
void Push(struct node** headRef, int data){
struct node* newNode = malloc(sizeof(struct node));
if(!newNode) return;
newNode->data = data;
newNode->next = *headRef;
headRef = &newNode;
return;
}