У меня возникла проблема с двойными связанными списками: я не могу получить данные от узлов через другой узел. Таким образом: узел-> prev-> prev. Но node-> prev в порядке. Кто-нибудь знает почему?Связанный список в C
Код:
/*Add value - right side*/
void addListRight(doubleList *node, int value)
{
doubleList *newNode;
newNode = createList();
newNode->val = value;
newNode->right = node->right;
newNode->left = node;
node->right->left = newNode; /*<-Error start here - 'segmentation error' or something like this*/
node->right = newNode;
}
Используя Google, я обнаружил, что некоторые парни ставить(), как это: (node-> справа) -> право. Я попробовал, но результат тот же.
Использование GCC/Ubuntu 10.10
* Я хотел бы сказать proprer слово для «->», но я не знаю, это на английском языке. Мой плохой ... извините! То же самое касается тегов этого вопроса!
Если 'node' начало списка, вы уверены, что есть что-то (кроме нулевого указателя) в поле' right'? –
Ун .. Я не был уверен. Точнее, я думал, что это правильно: P Но спасибо за вашу помощь! Я тупица, которая не могла понять ответ между строками каждого правильного ответа от вас, ребята! Весь код был: http://www.shuryon.com.br/C-CPP/list.c Функциональный: http://www.shuryon.com.br/C-CPP/list-ok1 .c Проблема решена! – Shuryon