c语言

怎么用c语言指针合并数组

小亿
131
2023-12-22 20:18:19
栏目: 编程语言

在C语言中,你可以使用指针来合并两个数组。以下是一种方法:

  1. 声明两个数组以及一个用于存储合并后数组的指针变量。
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {6, 7, 8, 9, 10};
int *mergedArr;
  1. 计算合并后数组的长度。
int mergedArrLength = sizeof(arr1) / sizeof(arr1[0]) + sizeof(arr2) / sizeof(arr2[0]);
  1. 为合并后的数组分配内存。
mergedArr = (int *)malloc(mergedArrLength * sizeof(int));
  1. 使用循环将arr1和arr2的元素依次复制到合并后数组中。
int i;
for(i = 0; i < sizeof(arr1)/sizeof(arr1[0]); i++){
    mergedArr[i] = arr1[i];
}
for(i = 0; i < sizeof(arr2)/sizeof(arr2[0]); i++){
    mergedArr[sizeof(arr1)/sizeof(arr1[0]) + i] = arr2[i];
}
  1. 合并后数组的指针mergedArr现在指向合并后的数组,你可以使用它来访问合并后数组的元素。
for(i = 0; i < mergedArrLength; i++){
    printf("%d ", mergedArr[i]);
}
  1. 记得在使用完之后释放合并后数组的内存。
free(mergedArr);

上述代码会将两个数组arr1和arr2合并成一个新的数组,并通过指针mergedArr来访问合并后数组的元素。

0
看了该问题的人还看了