c - 如何释放这个 char** 数组?

标签 c

我创建了这个数组:

char** command=malloc(sizeof(*command)*MAX_COMMANDS+1);

之后每个命令[i]都会得到这个:

command[i]=malloc(sizeof(*command[i])*strlen(token)+1);

如何释放命令二维数组?

最佳答案

有一条经验法则 - 每次调用 malloc 都对应一次调用 free,通常您会按照与分配相反的顺序释放内存。在这种情况下,您应该迭代 command 为每个 command[i] 调用 free,只有在此之后您才能 free > 命令

关于c - 如何释放这个 char** 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41569284/

相关文章:

c - 需要左值作为赋值的左操作数......?

C++ 二维阵列乒乓球板

c - 通过循环打印双数组

c - 具有实时任务的多核 Linux 软锁定

c - gcc sizeof float _Imaginary

c - mlockall 和共享库

c - 简单递归题

c - 我不明白为什么它会给出这个输出?

c - c中的宏定义

c 堆栈变量损坏