c语言结构体数组的删除
时间: 2024-06-13 14:07:18 浏览: 23
C语言中的结构体数组是一种非常常见的数据类型,但是C语言并没有提供直接删除结构体数组元素的方法。不过我们可以通过一些技巧来实现结构体数组的删除,具体方法如下:
1.将待删除元素之后的所有元素向前移动一位,覆盖待删除元素。
2.将数组长度减1,即可实现删除操作。
下面是一个示例代码,演示如何删除结构体数组中的元素:
```c
#include <stdio.h>
#include <string.h>
struct Person {
char name[20];
int age;
};
int main() {
struct Person people[5] = {{"Tom", 18}, {"Jerry", 20}, {"Mike", 22}, {"John", 25}, {"Lucy", 30}};
int delete_index = 2; // 假设要删除第3个元素
int len = sizeof(people) / sizeof(struct Person); // 数组长度
for (int i = delete_index; i < len - 1; i++) {
people[i] = people[i + 1]; // 将待删除元素之后的所有元素向前移动一位
}
len--; // 数组长度减1
printf("After delete:\n");
for (int i = 0; i < len; i++) {
printf("Name: %s, Age: %d\n", people[i].name, people[i].age);
}
return 0;
}
```
相关推荐
![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)