我在制作链接列表数组时遇到了困难。我有这个结构
typedef struct node {
int id;
struct node * next;
} t_point;
t_point* array[10];
我希望,例如,数组[0]指向链表的头部,然后填充,重复此过程到数组的所有空格
我理解我需要如何对其进行编码,但我无法做到正确。我只是希望有人向我展示并向我解释语法。
答案 0 :(得分:0)
这样的事情:
t_point* array[10]
void link_list()
{
int array_length = sizeof(array) / sizeof(t_point*);
// Allocate the memory for the first list item
array[0] = malloc(sizeof(t_point));
// Iterate through each item in `array` and allocate it some memory
for (int i = 1; i < array_length; i++)
{
// Allocate memory for the next item
array[i] = malloc(sizeof(t_point));
// Set the previous item's `next` field to the current item pointed to by `i`
array[i - 1]->next = array[i];
}
// Close the list by adding a NULL pointer
array[array_length - 1]->next = NULL;
}
另请记住free
malloc
内存,否则会导致内存泄漏。我会把它留给你。