数组的复制(memcpy函数的使用)

76 阅读1分钟
//
// Created by someb on 2024/2/11.
//测试一维数组的复制问题
#include<stdio.h>
#include<string.h>//含memcpy函数的头文件
#define LENGTH 3
#define ARRSiZE 5

int main(){

    //方式1:
    int arr3[LENGTH] = {10,20,30};
    //创建一个和arr3长度和类型相同的数组
    int arr4[LENGTH];
    //通过循环的方式,给arr4的各个元素赋值
    for(int i = 0;i < LENGTH;i++){
        arr4[i] = arr3[i];
    }

    //遍历arr4数组
    for(int i = 0;i < LENGTH;i++){
        printf("%d ",arr4[i]);
    }
    printf("\n");

    //方式2:使用memcpy()函数
    int arr5[ARRSiZE] = {1,2,3,4,5};    //源数组
    int arr6[ARRSiZE];      //目标数组

    //3个参数依次为目标数组,源数组,复制的字节数
    memcpy(arr6,arr5,ARRSiZE * sizeof(int));

    for(int i = 0;i < ARRSiZE;i++){
        printf("%d ",arr6[i]);
    }
    return 0;
}