我有一个像这样的char **数组:
{"first", "and", "second", "and", "third"}
我想释放(array [3])并将指针放在数组[1]里面。 (因为它是相同的字符串)。
我试过但指针没有被修改。你能帮助我吗,谢谢。
答案 0 :(得分:0)
您无法释放未使用malloc()
动态分配的指针。只需重新指定指针而不使用free
:
array[3] = array[1];
这不可能节省任何内存,因为字符串文字是静态分配的。并且一些实现将合并相等的字符串文字,请参阅Addresses of two pointers are same,因此它可以有效地完成您想要的分配。