Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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程序列表访问值分段错误_C_List - Fatal编程技术网

c程序列表访问值分段错误

c程序列表访问值分段错误,c,list,C,List,列表的内部结构应该是 头部->3->6->5 此外,while循环在获取cont的值之前刚刚退出。很可能它接受“\n”。有什么解决办法吗 您需要先分配标题,然后再引用它 另外,在将templast->next设置为head->next之前,需要将head->next设置为一个值 所以 您需要先分配标题,然后再引用它 另外,在将templast->next设置为head->next之前,需要将head->next设置为一个值 所以 您将head设置为null,因此当然会得到一个segfault。您

列表的内部结构应该是

头部->3->6->5


此外,while循环在获取cont的值之前刚刚退出。很可能它接受“\n”。有什么解决办法吗

您需要先分配
标题
,然后再引用它

另外,在将
templast->next
设置为
head->next
之前,需要将
head->next
设置为一个值

所以


您需要先分配
标题
,然后再引用它

另外,在将
templast->next
设置为
head->next
之前,需要将
head->next
设置为一个值

所以


您将head设置为null,因此当然会得到一个segfault。您需要像初始化tmpList一样初始化head。

您将head设置为null,因此当然会得到segfault。您需要像初始化tmpList一样初始化head。

head只是一个指针,不指向任何内存,因此无法取消对它的引用

首先,必须将tempList的->下一个值设置为NULL

head = (list)malloc(sizeof(node));
tempList = (list)malloc(sizeof(node));
head->next = NULL;
head->next = tempList;
tempList->data = temp;
然后你必须改变你用头的方式

tempList->next = NULL ;

Head只是一个指针,并没有指向任何内存,所以您不能取消对它的引用

首先,必须将tempList的->下一个值设置为NULL

head = (list)malloc(sizeof(node));
tempList = (list)malloc(sizeof(node));
head->next = NULL;
head->next = tempList;
tempList->data = temp;
然后你必须改变你用头的方式

tempList->next = NULL ;


head->next
是no-where-as-head本身为空的地址,然后您将其分配给templast->next。请告诉我,如何在上述代码中初始化head->next-to-null?
head->next
是no-where-as-head本身为空的地址,然后您将其分配给templast->next。请告诉我,在上面的代码中,我如何初始化head->next to NULL?准确地说是+1,答案很快:)准确地说,我是在问我如何初始化head->next to NULL以便程序正常工作。你对此有何评论?此外,while循环在获取cont的值之前刚刚退出。可能它接受“\n”。有什么解决办法吗?谢谢,因为user2501对我的问题有更合适的答案,所以我选择了他的答案。我也会投你的票。准确地说+1,答案很快:)准确地说,我问的是如何初始化head->next to NULL以使程序正常工作。你对此有何评论?此外,while循环在获取cont的值之前刚刚退出。可能它接受“\n”。有什么解决办法吗?谢谢,因为user2501对我的问题有更合适的答案,所以我选择了他的答案。我也会投你的票。是的,但是如果我这样做,那么如果用户输入5,6,3,那么我的内部结构就会像5->6->3->head?对吗?@yantrakaar不,它会完全颠倒过来。头->3->6。。。请注意,head只是一个指针,而其他的都是结构。你能对此发表评论吗?此外,while循环在获取cont的值之前刚刚退出。可能它接受“\n”。有什么解决方案吗?是的,但是如果我这样做,那么如果用户输入5,6,3,那么我的内部结构将像5->6->3->head?对吗?@yantrakaar不,它会完全颠倒过来。头->3->6。。。请注意,head只是一个指针,而其他的都是结构。你能对此发表评论吗?此外,while循环在获取cont的值之前刚刚退出。可能它接受“\n”。有什么解决办法吗?
tempList->next = head; // point it to NULL or the head
head = tempList;  // tempList becomes the new head