非空配列の結合方法(C言語)
結合する配列が空でない場合は、新しい配列を作成して結合結果を格納します。手順は次のとおりです。
- 空でない2つの配列の合計の長さと同じ長さの新規配列を作成する。
- nullでない最初の配列を反復処理し、それぞれの要素を新しい配列に1つずつコピーします。
- 2番目の非空配列を繰り返し処理して、その中の要素を1つずつ新しい配列にコピーします。
- こうして,非空配列2つの結合結果が新たな配列の中に格納されました。
以下にコードの例を示します。
#include <stdio.h>
int main() {
int arr1[] = {1, 2, 3, 4};
int arr2[] = {5, 6, 7, 8};
int len1 = sizeof(arr1) / sizeof(arr1[0]);
int len2 = sizeof(arr2) / sizeof(arr2[0]);
int len3 = len1 + len2;
int arr3[len3];
int i, j;
for (i = 0; i < len1; i++) {
arr3[i] = arr1[i];
}
for (j = 0; j < len2; j++) {
arr3[len1 + j] = arr2[j];
}
printf("合并后的数组:");
for (i = 0; i < len3; i++) {
printf("%d ", arr3[i]);
}
printf("\n");
return 0;
}
実行結果:
合并后的数组:1 2 3 4 5 6 7 8