2013-02-17 2 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;' 'должны быть зЬгсру (usr-> имя, user_name);' Нет? Кроме того, 'usr-> name' должна быть выделена некоторая память? Вы делаете ** мелкую копию ** содержимого узла, вам нужна ** глубокая копия **. –

ответ

4

Это гораздо проще, чем вы думаете:

usr->next = group->users; 
group->users = usr; 
Смежные вопросы