C 自由二维阵列
具有以下代码:C 自由二维阵列,c,C,具有以下代码: int (*fd)[2]; int memory = n * sizeof(int); fd = malloc(memory); 如何正确释放分配的内存?使用free(fd)释放malloc分配给fd的内存 注意:free()仅将内存块标记为空闲-不强制执行此释放操作 详细解释如下:.一次调用mallo
int (*fd)[2];
int memory = n * sizeof(int);
fd = malloc(memory);
如何正确释放分配的内存?使用free(fd)
释放malloc
分配给fd
的内存注意:
free()
仅将内存块标记为空闲-不强制执行此释放操作
详细解释如下:.一次调用
malloc()
-一次调用free()
。只需free(fd)
。以这种方式分配时,必须确保n
包含所需的int
元素总数,而不是行数。通常最好编写int(*fd)[2]=malloc(NumberOfRows*sizeof*fd)代码>。这既将列数合并到大小计算中,又避免了在一个位置(fd的声明)而不是另一个位置(表达式的大小)更改int
时可能出现的错误。@EricPostpischil谢谢!这是个问题。你救了我一天!