C 言語で配列内のデータはどのように削除しますか。
配列から値を削除するには、次のいずれかの方法を使用します。
- 配列の各要素をループで走査し、配列の型に応じて 0 または空の値を設定します。
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
arr[i] = 0; // 或者arr[i] = '\0';(对于字符数组)
}
- memsetを使って配列内のすべての要素を0または指定した値に設定
memset(arr, 0, sizeof(arr)); // 或者memset(arr, '\0', sizeof(arr));(对于字符数组)
- 配列初期化を利用して、空の新しい配列を再定義します。
int arr[N] = {0}; // 或者char arr[N] = {'\0'};(对于字符数组)
静的配列(宣言時に長さが決まっている配列)にのみ上記の方法が有効で、動的配列(mallocやcallocで動的に領域を確保した配列)の場合、メモリ解放にはfree関数を利用し、改めて領域を確保する必要があります。