Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 正在将我的链接列表转换为双链接列表,但在insertHead访问上一个链接时遇到问题_C_Doubly Linked List - Fatal编程技术网

C 正在将我的链接列表转换为双链接列表,但在insertHead访问上一个链接时遇到问题

C 正在将我的链接列表转换为双链接列表,但在insertHead访问上一个链接时遇到问题,c,doubly-linked-list,C,Doubly Linked List,我在试图访问这行代码中非结构或联合中的“previous”时出错: *head->previous=newHead 我不太清楚为什么。。。非常感谢您的帮助 ` struct ListNode { int value; struct ListNode* next; struct ListNode* previous; }; void insertAtHead(struct ListNode** head,int val) { struct ListNode

我在试图访问这行代码中非结构或联合中的“previous”时出错: *head->previous=newHead

我不太清楚为什么。。。非常感谢您的帮助

`
struct ListNode
{
     int value;
     struct ListNode* next;
     struct ListNode* previous;
};

void insertAtHead(struct ListNode** head,int val)
{
     struct ListNode* newHead = malloc(sizeof(struct ListNode));
     newHead->value = val;
     newHead->next = NULL;
     newHead->previous = NULL;
     if(*head == NULL)
         *head = newHead;
     else
     {
         newHead->next = *head;
         *head->previous = newHead;
         *head = newHead;
     } 
}`

->
运算符的值大于
*
。所以
*head->previous
被分组为
*(head->previous)
,这不是您想要的。使用括号:

(*head)->previous = newHead;
尝试
(*head)->上一个