怎么用c语言指针合并数组

在C语言中,你可以使用指针来合并两个数组。以下是一种方法:

声明两个数组以及一个用于存储合并后数组的指针变量。

int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {6, 7, 8, 9, 10};
int *mergedArr;

计算合并后数组的长度。

int mergedArrLength = sizeof(arr1) / sizeof(arr1[0]) + sizeof(arr2) / sizeof(arr2[0]);

为合并后的数组分配内存。

mergedArr = (int *)malloc(mergedArrLength * sizeof(int));

使用循环将arr1和arr2的元素依次复制到合并后数组中。

int i;
for(i = 0; i < sizeof(arr1)/sizeof(arr1[0]); i++){
    mergedArr[i] = arr1[i];
}
for(i = 0; i < sizeof(arr2)/sizeof(arr2[0]); i++){
    mergedArr[sizeof(arr1)/sizeof(arr1[0]) + i] = arr2[i];
}

合并后数组的指针mergedArr现在指向合并后的数组,你可以使用它来访问合并后数组的元素。

for(i = 0; i < mergedArrLength; i++){
    printf("%d ", mergedArr[i]);
}

记得在使用完之后释放合并后数组的内存。

free(mergedArr);

上述代码会将两个数组arr1和arr2合并成一个新的数组,并通过指针mergedArr来访问合并后数组的元素。

阅读剩余
THE END