如何释放一个数组指针的索引?

时间:2013-06-09 11:11:38

标签: c++ pointers memory-management

假设我有指针数组;

int *x;

当我释放x的索引之一时,其他索引也不可用。

free(x[4]);
int k = x[3]; // gives segmentation error. If do not free no error.

有没有办法释放指针数组的指定索引之一?

1 个答案:

答案 0 :(得分:0)

在此代码示例中,您尝试释放不是指针类型的内容。您只能执行free(x),而且只能在malloc'd之后执行 int a; free(a); 。基本上,你正在做类似的事情:

int**

如果您希望能够释放数组元素,那么您的数组必须是{{1}}类型。小心再次对它们进行malloc或在此之后正确设置它们。