C语言数组合并的方法有哪些

990
2023/7/31 19:28:31
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

C语言数组合并的方法有以下几种:

  1. 使用循环:首先创建一个新的数组,然后使用循环将两个数组的元素依次复制到新数组中。
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; // 返回合并后数组的长度
}
  1. 使用指针:通过指针操作数组元素,将两个数组合并为一个新的数组。
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; // 返回合并后数组的长度
}
  1. 使用标准库函数:使用C标准库提供的函数 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; // 返回合并后数组的长度
}

这些方法都可以实现数组的合并,具体选择哪种方法取决于实际需求和个人偏好。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: C语言怎么替换字符串中的数字