怎么用c语言指针合并数组
在C语言中,你可以使用指针来合并两个数组。以下是一种方法:
- 声明两个数组以及一个用于存储合并后数组的指针变量。
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {6, 7, 8, 9, 10};
int *mergedArr;
- 计算合并后数组的长度。
int mergedArrLength = sizeof(arr1) / sizeof(arr1[0]) + sizeof(arr2) / sizeof(arr2[0]);
- 为合并后的数组分配内存。
mergedArr = (int *)malloc(mergedArrLength * sizeof(int));
- 使用循环将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];
}
- 合并后数组的指针mergedArr现在指向合并后的数组,你可以使用它来访问合并后数组的元素。
for(i = 0; i < mergedArrLength; i++){
printf("%d ", mergedArr[i]);
}
- 记得在使用完之后释放合并后数组的内存。
free(mergedArr);
上述代码会将两个数组arr1和arr2合并成一个新的数组,并通过指针mergedArr来访问合并后数组的元素。