当我将新的指针分配给没有空闲的指针时,这是不好的做法吗?
char **arr = malloc(sizeof(*arr)*9);
...
...
arr[5] = strdup("sys");
arr[6] = strdup("var");
arr[7] = strdup("home");
arr[8] = NULL;
arr[5] = arr[6];
arr[6] = arr[7];
arr[7] = NULL;
答案 0 :(得分:6)
是的。由于您重新分配的指针(例如arr [5])不再可用,因此无法释放其内存,这是内存泄漏。