void push(struct node **head, int data)
{
struct node* newnode = malloc(sizeof(struct node));
newnode->data = data;
newnode->next = *head;
*head=newnode;
}
I came across this function, I wonder why didn't we use free(newnode) since we affected its value to *head and we no longer have use of it?