C编程: Delete specific value stored in Array

标签 c arrays

让我们考虑一个数组(例如,int a[25];)。 后来在一些循环的帮助下,我开始将用户输入存储在这个数组中。

在某个时间点,如果用户选择删除他刚刚从数组中输入的值。

我怎样才能为我的程序的用户做到这一点。

我可以把它设为0,但0也是他可以输入的值;所以我只想将其设置为 NULL 或使用一些垃圾值,就像我初始化数组时一样。

最佳答案

您无法从数组中删除元素。在 C 语言中,数组存储为连续的内存块,因此不能只删除一个元素。您可以使用以下任一选项:

  1. 使用一些未使用的值(例如 -1)将元素标记为已删除。
  2. 使用单独的数组来跟踪已删除的元素。
  3. 使用链表存储元素(推荐选项)。

关于C编程: Delete specific value stored in Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24545311/

相关文章:

java - 需要帮助按第二个元素然后按第一个元素对二维数组进行排序(Java)

javascript - 添加项目的对象长度

c++ - 使用绝对元素编号访问二维数组的元素

c - 如何根据条件语句和 C 输出来修复程序的运行?

c++ - 子数组是否保证线性分配?

objective-c - 我应该如何存储对象集合并提供特定的方法来查询它们?

c - 等同于 C 中的 NULL

c - 客户端被杀死或崩溃时内核发送的 TCP RST

c - 在 CUDA SDK 中使用正则表达式?

c - 出现段错误但看不到错误?