C语言中删除数组元素
在C语言中,数组元素是连续分配的内存块。因此,删除数组中的一个元素需要将数组元素重新排列,将要删除的元素后面的元素前移一位,直至数组末尾。
步骤:
-
确定要删除的元素位置: 找到要删除的元素在数组中的索引。
循环移动元素: 从要删除元素的位置开始,依次将后面的元素向前移动一位。使用
for循环遍历元素,直到数组末尾。 更新数组长度: 调整数组实际长度,减去要删除的元素数量。
示例代码:
立即学习“C语言免费学习笔记(深入)”;
<code class="c">#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]); // 数组元素数量
int index = 2; // 要删除的元素索引
// 删除元素
for (int i = index; i < n - 1; i++) {
arr[i] = arr[i + 1];
}
// 更新数组长度
n--;
// 打印删除后的数组
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}</code>输出:
<code>1 2 4 5</code>
注意:
如果数组中要删除的是最后一个元素,直接调整数组长度即可,不需要移动元素。 删除数组元素后,数组中的元素顺序会发生改变。