【发布时间】:2019-05-30 01:23:07
【问题描述】:
我的目标是将 List 附加到数组的末尾。当我尝试执行它给我分段错误。
我试着做一个小调试,给我问题的指令在 for cicle 中:
array[i] = tmp[i];
这是我的代码:
int i;
List *tmp = array;
array = (List *)malloc((dim+1) * sizeof(List));
for (i = 0; i < dim; i++) {
array[i] = tmp[i];
}
dim++;
array[dim-1] = (List)malloc(sizeof(struct TList));
memcpy(array[dim-1], set, sizeof(struct TList));
return array;
其中“dim”是一个全局变量,我用它来跟踪数组的维度
我知道这可能很简单,但我真的不知道如何解决这个问题。
感谢您的帮助
【问题讨论】:
-
你能提供一个minimal reproducible example吗?例如,现在我们事先不知道
array是什么。同样将指针从malloc转换为 List 似乎很奇怪,以及array包含非指针内容并试图将动态分配的内存放入其中。 -
List *addToProcessedNode(List *array,List set)
-
这是List类型
-
这是列表类型
-
@xing 你说的很对,现在我还以为 List 是一个结构体,做一个指针会改变一切
标签: c arrays list segmentation-fault append