我必须编写一个连接两个整数数组的函数。第二个数组的值应该附加到第一个数组。在我的任务中,给出了函数的标题:
void concatArrays(int *numbers1, int length1, int *numbers2, int length2)
我想通过使用realloc动态扩展第一个数组的大小,然后将第二个数组复制到新内存中。但我不能这样做,因为我只有int *而不是指针指针。所以我不能使用malloc,calloc或realloc。如何在不改变函数头的情况下编写这样的函数?
答案 0 :(得分:0)
void concatArray(int** n1, int l1, int* n2, int l2)
{
int size = (l1 + l2);
int *test = realloc(*n1, size * sizeof(int));
if(test == NULL)
{
return;
}
*n1 = test;
for(int i = l1; i < size; i++)
{
(*n1)[i] = n2[i - l1];
}
}
I will use this code for the function. The assignment is wrong.