C語言數組合并的方法有以下幾種:
int mergeArrays(int arr1[], int arr2[], int len1, int len2, int merged[]) {
int i, j, k;
// 復制數組 arr1 的元素到 merged
for (i = 0; i < len1; i++) {
merged[i] = arr1[i];
}
// 復制數組 arr2 的元素到 merged
for (j = 0, k = len1; j < len2; j++, k++) {
merged[k] = arr2[j];
}
return len1 + len2; // 返回合并后數組的長度
}
int mergeArrays(int arr1[], int arr2[], int len1, int len2, int merged[]) {
int i, j;
// 復制數組 arr1 的元素到 merged
for (i = 0; i < len1; i++) {
*merged++ = arr1[i];
}
// 復制數組 arr2 的元素到 merged
for (j = 0; j < len2; j++) {
*merged++ = arr2[j];
}
return len1 + len2; // 返回合并后數組的長度
}
memcpy()
或 memmove()
,將兩個數組的元素復制到一個新的數組中。#include <string.h>
int mergeArrays(int arr1[], int arr2[], int len1, int len2, int merged[]) {
memcpy(merged, arr1, len1 * sizeof(int)); // 復制數組 arr1 的元素到 merged
memcpy(merged + len1, arr2, len2 * sizeof(int)); // 復制數組 arr2 的元素到 merged
return len1 + len2; // 返回合并后數組的長度
}
這些方法都可以實現數組的合并,具體選擇哪種方法取決于實際需求和個人偏好。