For example:
temp->next = NULL
is same as (*temp).next = NULL
list->next->next = temp
is same as ??This line
list->next->next = temp;
can be rewritten in several ways. For example
( *list ).next->next = temp;
or
( *( *list ).next ).next = temp;
or
( *list ->next ).next = temp;