我创建了这个数组:
char** command=malloc(sizeof(*command)*MAX_COMMANDS+1);
然后每个命令[i]得到这个:
command[i]=malloc(sizeof(*command[i])*strlen(token)+1);
如何释放命令2d数组?
有一个拇指规则 - 每次调用malloc对应一次免费调用,通常你按照其分配的相反顺序释放内存.在这种情况下,您应该迭代command
调用free
每个command[i]
,只有在那之后才可以free
command
.