我的理解是为了逻辑上的解耦合吧,header是逻辑上的一个链表上的头,而node[0]是一个list里所有链表节点在存储结构上的第一个,链表并不要求存储空间上的连续,也不一定要从node[0]开始,这样定义的话,如果以后有需求比如每个链表元素从第二个【node1】开始作为头,那么只需要修改链表内部逻辑,把header和node1关联就可以了,外部对链表进行使用的地方,依然可以用header来获取链表的头节点,而不需要一一修改。