it's multiple assignment as your first option is the right one
list->head = list->tail = NULL;
it's a magic of flow.
initially ,tail
is set to NULL
,starting from right to left
list->tail = NULL;
then
list->head = list->tail ;
now tail
is NULL
so the head
will also assigned a NULL
value