Probably like this
void INSERT(int element, struct Node **position){
struct Node *temp = (struct Node*)malloc(sizeof(struct Node));
temp -> data = element;
temp -> next = NULL;
if( *position==NULL){
*position = temp;
return;
}
temp->next = (*position)->next;
(*position)->next = temp;
}
//result : //5 -> 3 -> 2 : is inserted next to the head