【发布时间】:2016-03-03 21:08:21
【问题描述】:
当我有一个函数获取指针 int *vector 和几个 int 值时。我想删除元素号n。所以我会在那个元素上使用free()。我现在遇到的问题是我的 int 值数组中有一个“洞”。有没有一种简单的方法可以让我没有这个问题,或者我真的必须制作一个新的 int pinter 并重新排序我的向量?
【问题讨论】:
-
vector[n]是一个int...你不能这样free()。 -
您可以创建一个结构数组来制作一个假的int数组或链表。
-
free()没有按照您的想法行事或工作 -
您不能使用
free来执行此操作。free用于释放您使用malloc或malloc的变体之一分配的动态内存。如果您想要一个可以轻松删除或添加且不会留下漏洞的有序项目列表,那么合适的结构可能是链表,而不是数组。