struct x{
...;
...;
struct x * next;
};
struct x create() {
struct x new = malloc...
new->... = .;
new->... = ..;
new->next = NULL
};
当我创建一个新的struct x节点时,它如何在使用struct x时创建多次。我感到奇怪,你可以多次使用它,因为它将内存分配给每次都有新同名的结构x?结构中的每个节点都不需要单独的名称。或者每次新的内存分配完成时,这只是重要的。创建指向彼此的新节点
主要问题:我将创建第一个节点,然后创建第二个节点。第一个节点应该指向第二个节点,依此类推。但是当我创建第一个节点时,第二个节点不存在,所以我不能设置first-> next = second。
我已经看过链接列表的例子,但它并没有改善我此刻的想法。代码并不像我自己的理解和想法那么重要。请帮助我思考和理解这个概念。
//我试图遵循Degustaf的提示(除了下一个指针,基本上与创建一个新节点相同),但是实现错误。因此,我在这段代码中发现了什么错误:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct x{
int a;
int b;
struct x * next;
}
struct x *create(int a , int b){
struct x *new = malloc(sizeof(struct x));
new->a = a;//namn skitsamma allokering relevant
new->b = b;
new->next = NULL;
return new;
};
int main() {
struct x *x1 = struct x *create(12,13);
return 0;
}
'struct x new = malloc ...'应该是'struct x * new = malloc ...'。你还需要返回'* new'。然而,我诚实地说,只是使用指针(返回指针等)。 – 2014-10-16 17:27:10