【发布时间】:2013-04-03 09:27:35
【问题描述】:
int add_server(Server *list, char *server_id, char *capacity)
{
Server *new_node=(Server *)malloc(sizeof(Server));
new_node->id=server_id;
new_node->capacity=atoi(capacity);
if(list==NULL)
{
list=new_node;
list->next=list;
return list;
}
else
{
Server *temp=list;
while(temp->next!=list)
{
temp=temp->next;
}
temp->next=new_node;
new_node->next=list;
}
}
【问题讨论】:
-
您能否在该代码中添加一些文本,在相当简洁的标题之外描述问题?
-
您没有在
add_server中为server_id分配内存。您是在调用函数中分配内存还是不断更新同一个 char 数组?后者意味着所有节点都指向同一个server_id实例,因此它们的 id 都会更新。
标签: c pointers struct singly-linked-list