你将如何在 C 中做一个功能纯链表?链接列表是我什至应该做的吗?我正在尝试创建一个对象列表,但我想不出如何在不修改外部状态的情况下将项目从函数添加到列表中。
我基本上想要这个:
void AddItemToList(Item item);
能够从任何地方被调用,而调用者不必担心要添加到哪个列表。
现在我只有:
void AddTypeToList(entityType_t *type, entityType_t *listHead)
{
type->next = listHead;
listHead = type;
}
void RegisterEntityType(entityType_t *type)
{
AddTypeToList(type, typeList);
}
但这显然不起作用(或者是吗?),因为RegisterEntityType
正在修改typeList
. (这是一个全球性的entityType_t
)