Wskaźnik wskaźnika C i błąd seg
Poniżej znajduje się moja prosta lista połączonych w C. Moje pytanie jest w „headRef = & newNode;” co powoduje błąd segmentacji. Potem spróbowałem zamiast tego „* headRef = newNode;” co rozwiązuje problem uszkodzenia seg. Chociaż wydaje mi się, że dwie linie kodu działają w ten sam sposób, dlaczego jeden powoduje błąd seg, a drugi nie? Z góry dziękuję.
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;
}