C言語で配列から数字を削除する方法
C言語では、配列から数値を削除するには、以下の手順に従います。
削除する数字の位置またはインデックスを確認する。
それ以降の要素をすべて1つずつ左にずらす。
配列の長さの更新
以下に例を示すサンプルコードがあります。このコードでは、配列から数字を削除する方法を説明しています。
#include
void deleteElement(int arr[], int size, int index) {
// 检查索引是否合法
if (index < 0 || index >= size) {
printf("无效的索引\n");
return;
}
// 将该位置之后的所有元素向前移动一个位置
for (int i = index; i < size - 1; i++) {
arr[i] = arr[i + 1];
}
// 更新数组的长度
size--;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
// 删除索引为2的元素
deleteElement(arr, size, 2);
// 打印删除后的数组
for (int i = 0; i < size - 1; i++) {
printf("%d ", arr[i]);
}
return 0;
}
実行すると `1 2 4 5` が出力されます。これは、インデックス 2 の要素 (数値 3) が正しく削除されたことを示しています。この例では、削除された要素の後の要素を 1 つ前に移動しただけで、要素がメモリから実際に削除されるわけではありません。