I know how the code work. But does not know Why?
What are the differences between pointers?
struct List{
int val;
List *next;
}
/// where is the different between fun1 and fun2 receiving the List
void fun1(List **head){}
void fun2(List *head){}
int main(){
List *head;
/// where is the different between fun1 and fun2 passing the List
fun1(&head);
fun2(head);
}