溫馨提示×

怎么用c語言指針合并數(shù)組

小億
116
2023-12-22 20:18:19
欄目: 編程語言

在C語言中,你可以使用指針來合并兩個數(shù)組。以下是一種方法:

  1. 聲明兩個數(shù)組以及一個用于存儲合并后數(shù)組的指針變量。
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {6, 7, 8, 9, 10};
int *mergedArr;
  1. 計算合并后數(shù)組的長度。
int mergedArrLength = sizeof(arr1) / sizeof(arr1[0]) + sizeof(arr2) / sizeof(arr2[0]);
  1. 為合并后的數(shù)組分配內(nèi)存。
mergedArr = (int *)malloc(mergedArrLength * sizeof(int));
  1. 使用循環(huán)將arr1和arr2的元素依次復(fù)制到合并后數(shù)組中。
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. 合并后數(shù)組的指針mergedArr現(xiàn)在指向合并后的數(shù)組,你可以使用它來訪問合并后數(shù)組的元素。
for(i = 0; i < mergedArrLength; i++){
    printf("%d ", mergedArr[i]);
}
  1. 記得在使用完之后釋放合并后數(shù)組的內(nèi)存。
free(mergedArr);

上述代碼會將兩個數(shù)組arr1和arr2合并成一個新的數(shù)組,并通過指針mergedArr來訪問合并后數(shù)組的元素。

0