c语言怎么合并两个数组内容

在C语言中,合并两个数组可以通过多种方法实现,以下是一些常见的方法:

c语言怎么合并两个数组内容
(图片来源网络,侵删)

1、使用循环遍历数组元素并逐个复制到新数组中,这种方法适用于两个数组具有相同的大小。

2、使用memcpy函数直接将一个数组的内容复制到另一个数组中,这种方法适用于两个数组具有相同的大小。

3、使用动态内存分配创建一个新的数组,其大小为两个原始数组的大小之和,使用循环遍历原始数组并将元素复制到新数组中,这种方法适用于两个数组具有不同的大小。

下面分别介绍这三种方法的实现过程。

方法一:使用循环遍历数组元素并逐个复制到新数组中

#include <stdio.h>
#include <stdlib.h>
int main() {
    int arr1[] = {1, 2, 3};
    int arr2[] = {4, 5, 6};
    int n = sizeof(arr1) / sizeof(arr1[0]);
    int m = sizeof(arr2) / sizeof(arr2[0]);
    int *arr3 = (int *)malloc((n + m) * sizeof(int));
    for (int i = 0; i < n; i++) {
        arr3[i] = arr1[i];
    }
    for (int i = 0; i < m; i++) {
        arr3[i + n] = arr2[i];
    }
    for (int i = 0; i < n + m; i++) {
        printf("%d ", arr3[i]);
    }
    free(arr3);
    return 0;
}

方法二:使用memcpy函数直接将一个数组的内容复制到另一个数组中

#include <stdio.h>
#include <string.h>
int main() {
    int arr1[] = {1, 2, 3};
    int arr2[] = {4, 5, 6};
    int n = sizeof(arr1) / sizeof(arr1[0]);
    int m = sizeof(arr2) / sizeof(arr2[0]);
    int *arr3 = (int *)malloc((n + m) * sizeof(int));
    memcpy(arr3, arr1, n * sizeof(int));
    memcpy(arr3 + n, arr2, m * sizeof(int));
    for (int i = 0; i < n + m; i++) {
        printf("%d ", arr3[i]);
    }
    free(arr3);
    return 0;
}

方法三:使用动态内存分配创建一个新的数组,其大小为两个原始数组的大小之和,使用循环遍历原始数组并将元素复制到新数组中,这种方法适用于两个数组具有不同的大小。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
    int n1 = 3;
    int n2 = 4;
    int *arr1 = (int *)malloc(n1 * sizeof(int));
    int *arr2 = (int *)malloc(n2 * sizeof(int));
    int *arr3 = (int *)malloc((n1 + n2) * sizeof(int));
    for (int i = 0; i < n1; i++) {
        arr1[i] = i + 1;
    }
    for (int i = 0; i < n2; i++) {
        arr2[i] = i + 4;
    }
    for (int i = 0; i < n1; i++) {
        arr3[i] = arr1[i];
    }
    for (int i = 0; i < n2; i++) {
        arr3[i + n1] = arr2[i];
    }
    for (int i = 0; i < n1 + n2; i++) {
        printf("%d ", arr3[i]);
    }
    free(arr1);
    free(arr2);
    free(arr3);
    return 0;
}

以上三种方法都可以实现C语言中两个数组的合并,在实际编程过程中,可以根据具体需求选择合适的方法。

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/378403.html

(0)
酷盾叔的头像酷盾叔订阅
上一篇 2024-03-23 12:02
下一篇 2024-03-23 12:03

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入