Указатель C и ошибка сегмента
Ниже приведен мой простой связанный список на C. Мой вопрос находится в разделе "headRef = & amp; newNode;" который вызывает ошибку сегментации. Тогда я попытался вместо этого * headRef = newNode; & quot; которая решает проблему ошибки сегмента. Хотя мне кажется, что две строки кода работают одинаково, почему одна вызывает ошибку сегмента, а другая - нет? Заранее спасибо.
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;
}