为什么会导致细分错误?

时间:2019-03-19 17:02:10

标签: c

它仅向我显示:[1] 10531分段错误。 我不是我的代码有什么问题!(我已经定义了一个列表并将一个元素添加到列表中。但是它只是失败了,我不知道如何更改它。)

map(map(n => n + 1), badIndices) 
//=> [Right(1), Right(2), Left('Target Column Name not found in CSV header column: FooBar')]

1 个答案:

答案 0 :(得分:2)

当前您作为数组传递的所有内容都是空指针,因为您将其实例化为

int *array = NULL;

代替

int *array = malloc(2 * sizeof(int));

为堆上的两个整数分配足够的空间。 (两个是您在此测试中使用的商品数量)。

此外,您应该使用

int i = 0;
while(list != NULL) {

    array[i] = list->val;
    list = list->next;
    i++;
}

而不是传递长度值,正如您所知,到达空值时到达链表的末尾。如果有人在您的程序中偶然输入了错误的长度,则会导致另一个分段错误。

相关问题