Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 从结构构建LinkedList_C_Linked List - Fatal编程技术网

C 从结构构建LinkedList

C 从结构构建LinkedList,c,linked-list,C,Linked List,我正试图从structs的array构建一个Linkedlist,如下所示: node * current = NULL, *list= NULL; current = (node *)malloc(sizeof(node)); current->employee.EMP_ID = ed[0].EMP_ID; strcpy(current->employee.name, ed[0].name); current->employee.dept = ed[0].dept; cu

我正试图从
structs
array
构建一个
Linkedlist
,如下所示:

node * current = NULL, *list= NULL;

current = (node *)malloc(sizeof(node));

current->employee.EMP_ID = ed[0].EMP_ID;
strcpy(current->employee.name, ed[0].name);
current->employee.dept = ed[0].dept;
current->employee.rank = ed[0].rank;
current->employee.salary = ed[0].salary;
current->next = NULL;

list = current;

current = current->next;

for (int i = 1; i < 2; i++){

    node *current = (node *)malloc(sizeof(node));

    current->employee.EMP_ID = ed[i].EMP_ID;
    strcpy(current->employee.name, ed[i].name);
    current->employee.dept = ed[i].dept;
    current->employee.rank = ed[i].rank;
    current->employee.salary = ed[i].salary;
    current->next = NULL;

    list->next = current;

    current = current->next;
}
节点*current=NULL,*list=NULL;
当前=(节点*)malloc(sizeof(节点));
当前->employee.EMP\u ID=ed[0]。EMP\u ID;
strcpy(当前->employee.name,ed[0].name);
当前->employee.dept=ed[0]。部门;
当前->employee.rank=ed[0]。排名;
当前->员工工资=ed[0]。工资;
当前->下一步=空;
列表=当前;
当前=当前->下一步;
对于(int i=1;i<2;i++){
node*current=(node*)malloc(sizeof(node));
当前->employee.EMP\u ID=ed[i].EMP\u ID;
strcpy(当前->employee.name,ed[i].name);
当前->employee.dept=ed[i].部门;
当前->employee.rank=ed[i].rank;
当前->employee.salary=ed[i].薪资;
当前->下一步=空;
列表->下一步=当前;
当前=当前->下一步;
}
但是,它只存储
结构中的最后一个值。我能做什么?

试试这个

node * current = NULL, *list= NULL;

current = (node *)malloc(sizeof(node));

current->employee = ed[0];
current->next = NULL;

list = current;

for (int i = 1; i < 2; i++){

    node *np = (node *)malloc(sizeof(node));

    np->employee = ed[i];
    np->next = NULL;

    current = current->next = np;
}
节点*current=NULL,*list=NULL;
当前=(节点*)malloc(sizeof(节点));
当前->员工=ed[0];
当前->下一步=空;
列表=当前;
对于(int i=1;i<2;i++){
node*np=(node*)malloc(sizeof(node));
np->employee=ed[i];
np->next=NULL;
当前=当前->下一步=np;
}