阅读量:1
在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来访问合并后数组的元素。