我正在 C 中创建一个(结构的)链表,但我希望能够调用一个函数并让它自己向列表中添加 4-5 个结构。问题是因为在 C 中,函数中创建的所有变量都留在堆栈/堆上,我不知道我应该如何完成这一点。
这是一个代码示例:
struct listItem
{
int value;
listItem *left;
listItem *right;
}
void addItems(listItem *l)
{
listItem one, two, three;
l->left = &one;
one.left = &two;
two.left = &three;
}
int main (char *a [])
{
listItem l;
addItems(l);
}
显然这是行不通的。我怎么能做到这一点?有没有可能。谢谢
编辑:哇,谢谢大家的帮助。这比我想象的更快,更有帮助!