-1

假设我有指针数组;

int *x;

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

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

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

4

1 回答 1

0

在此代码示例中,您试图释放不是指针类型的东西。你只能做free(x),那就是只有在你malloc'd之后。基本上,你正在做类似的事情:

 int a;
 free(a);

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

于 2013-06-09T11:17:02.463 回答