我创建了这个数组:
char** command=malloc(sizeof(*command)*MAX_COMMANDS+1);
然后每个命令[i]得到这个:
command[i]=malloc(sizeof(*command[i])*strlen(token)+1);
如何释放命令2d数组?
答案 0 :(得分:6)
有一个拇指规则 - 每次对malloc的调用都对应于一次免费调用,通常你按照其分配的相反顺序释放内存。在这种情况下,您应该针对每个command
重复free
调用command[i]
,然后才能free
command
。
答案 1 :(得分:1)
int i =0;
while (i < MAX_COMMANDS)
{
free(command[i]);
++i;
}
答案 2 :(得分:0)
你可以这样做。
49.532819434711516000934361130%