📅  最后修改于: 2023-12-03 14:59:38.606000             🧑  作者: Mango
在C语言中,常常需要将两个数组合并成一个新数组。这个过程需要一定的算法和技巧,下面将详细介绍如何将两个数组合并成一个新数组。
int arr1[] = { 1, 2, 3 };
int arr2[] = { 4, 5, 6 };
int len1 = sizeof(arr1) / sizeof(int);
int len2 = sizeof(arr2) / sizeof(int);
int len3 = len1 + len2;
int arr3[len3];
for (int i = 0; i < len1; i++) {
arr3[i] = arr1[i];
}
for (int i = 0; i < len2; i++) {
arr3[i + len1] = arr2[i];
}
此方法通过使用两个循环来遍历两个数组,并将其元素复制到新数组中。新数组的长度应该等于两个数组的长度之和。
int arr1[] = { 1, 2, 3 };
int arr2[] = { 4, 5, 6 };
int len1 = sizeof(arr1) / sizeof(int);
int len2 = sizeof(arr2) / sizeof(int);
int len3 = len1 + len2;
int arr3[len3];
int *p1 = arr1, *p2 = arr2, *p3 = arr3;
while (p1 != arr1 + len1) {
*p3++ = *p1++;
}
while (p2 != arr2 + len2) {
*p3++ = *p2++;
}
此方法使用三个指针分别指向数组的开头,通过指针算术运算来遍历两个数组,并将它们的元素复制到新数组中。
无论使用哪种方法,合并两个数组的关键是要确保新数组的长度等于两个数组的长度之和,然后将两个数组的元素按照顺序复制到新数组中。在实际开发中,要根据实际情况选择合适的方法。