2013-02-17 45 views
1

鉴于拥有一个链表对象的节点,如何添加一个新的节点到链表的头,当我不能返回链表的内存地址?链表,在插入前

struct group { 
    char *name; 
    struct user *users; 
    struct xct *xcts; 
    struct group *next; 
}; 

struct user { 
    char *name; 
    double balance; 
    struct user *next; 
}; 
+1

'usr->名称= USER_NAME;'应该是'的strcpy(usr->名称,USER_NAME);'不?另外'usr-> name'应分配一些内存?您正在一个**浅拷贝的**节点的内容,你需要一个**深拷贝**。 – 2013-02-17 14:10:53

回答

4

这比你想的要简单得多:

usr->next = group->users; 
group->users = usr;