使用for循环创建链接列表

这是我的结构

struct ListItem{ int data; struct ListItem *next; }; 

假设链表的第一个节点将有data = 0,我想写一个for循环,创建一个大小为5的链表,但我不知道如何工作

我尝试了以下内容

 int main(int argc, char* argv[]){ struct ListItem a; a.data = 0; for (int i = 1; i next; } } 

但结果是a.data = 0和a.next-> data = 4

不要修改。 从一个临时节点开始。 使它成为新节点的下一个点,然后将temp节点设置为新节点。 也在堆中动态分配。 否则,在每次循环运行后,内存将被释放

 struct ListItem a[5] = { {0, NULL}}; struct ListItem *pointer = &a[0]; for (int i = 0; i < 5; i++){ a[i].data = i; if(i != 5 -1) a[i].next = &a[i+1]; }