因为 l 仍然保存的是 List 的地址,l->age、l->next都直接拿到了结点中的成员 或者 结点中的指针,都是会改变该结点内成员的操作。 void anotherTry_1(struct Teacher *l){ l->next = NULL; // 让第一个结点之后的内容脱钩,可以影响原链表。 // 因为直接找到了原来的结构体,改变了结构体的内部成员 } ...