假设我有指针数组;
int *x;
当我释放x的索引之一时,其他索引也不可用。
free(x[4]);
int k = x[3]; // gives segmentation error. If do not free no error.
有没有办法释放指针数组的指定索引之一?
答案 0 :(得分:0)
在此代码示例中,您尝试释放不是指针类型的内容。您只能执行free(x)
,而且只能在malloc'd
之后执行 int a;
free(a);
。基本上,你正在做类似的事情:
int**
如果您希望能够释放数组元素,那么您的数组必须是{{1}}类型。小心再次对它们进行malloc或在此之后正确设置它们。