C言語の配列に要素を追加する方法

C言語では、配列の長さは固定なので、直接新しい要素を追加することはできません。新しい要素を追加する必要がある場合は、次の方法があります。

  1. 配列の値を複製して新しい配列を作成し、末尾に別の値を追加します。例:
int oldArray[] = {1, 2, 3, 4, 5};
int length = sizeof(oldArray) / sizeof(oldArray[0]);
int newArray[length + 1];

for (int i = 0; i < length; i++) {
    newArray[i] = oldArray[i];
}

newArray[length] = 6;
  1. malloc関数による動的メモリ割り当てを用いて新しい配列を作成し、もとの配列の要素を新しい配列にコピーする。例えば:
int *oldArray = malloc(length * sizeof(int));
// 将原数组元素复制到oldArray中

int *newArray = malloc((length + 1) * sizeof(int));
// 将原数组元素复制到newArray中
newArray[length] = 6;

動的に割り当てたメモリを使い終えたら、free関数でメモリを解放する必要があります。

free(oldArray);
free(newArray);
bannerAds