temp是nullptr怎么解决

//节点
typedef struct Node
{
int data; //数据域
struct Node* next; //指针域
}Node;

//链表
typedef struct List
{
Node* head;
Node* tail;
int size;
}List;

//销毁
void delList(List* list)
{
if (list == NULL)
return;

Node* temp = list->head->next;
for (int i = 0; i < list->size; i++)
{
    free(list->head);
    list->head = temp;
    temp = temp->next;
}

}
最后那个temp=temp→next; 调试报错temp是nullptr。 但是结果能运行出来

循环条件i < list->size改成temp,这个用while更合适while(temp)