请给出具体的c++的例子,如何删除int*的第一个元素
时间: 2024-05-10 12:15:27 浏览: 13
假设我们有一个名为 `array` 的 `int*` 数组,其中有 `size` 个元素。要删除第一个元素,可以将整个数组向左移动一个位置,并将第一个元素覆盖掉。可以使用 `memmove` 函数来实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int size = 5;
int* array = malloc(size * sizeof(int)); // 分配内存
for (int i = 0; i < size; i++) {
array[i] = i + 1;
}
printf("Before deletion: ");
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
printf("\n");
// 删除第一个元素
memmove(array, array + 1, (size - 1) * sizeof(int));
size--; // 更新数组大小
array = realloc(array, size * sizeof(int)); // 释放多余的内存
printf("After deletion: ");
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
printf("\n");
free(array); // 释放内存
return 0;
}
```
输出:
```
Before deletion: 1 2 3 4 5
After deletion: 2 3 4 5
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)