Похоже, вы получаете ошибку ошибки сегментации.Это означает, что вы пытаетесь получить доступ к недействительной памяти.Я предполагаю, что вы не выделили node->right
или оно равно NULL.Убедитесь, что все ваши указатели действительны и правильно распределены.
Для справки, вот пример реализации связанного списка:
#include <stdio.h>
#include <stdlib.h>
typedef struct doubleList doubleList;
struct doubleList
{
int value;
doubleList *left, *right;
};
doubleList *addListRight(doubleList *node, int value)
{
doubleList *newNode;
newNode = malloc(sizeof(doubleList));
if(newNode == NULL)
{
return NULL;
}
newNode->value = value;
newNode->left = NULL;
newNode->right = NULL;
if(node != NULL)
{
newNode->left = node;
node->right = newNode;
}
return newNode;
}
int main(int argc, char **argv)
{
doubleList *list = addListRight(NULL, 5);
addListRight(list, 2);
// Outputs: 5, 2
printf("%d, %d", list->value, list->right->value);
return 0;
}