我有一个包含一堆char指针的结构,其值在整个程序的生命周期中使用。大多数都会在每次迭代时被覆盖。
除了程序退出之外,是否应该释放这些值?是否应该在使用strdup("new value")
覆盖char指针中的值之前释放它?
答案 0 :(得分:2)
@ some-programmer-dude是对的,如果你的程序像服务器一样运行,那么内存泄漏就会没有空闲。
顺便说一下,无论你是否打电话给free(),所有的记忆都将在程序退出后被释放。答案 1 :(得分:0)
你已经得到了答案。我只是提供更多信息和参考。
POSIX标准strdup的手册页。
我们走了,
The strdup() function returns a pointer to a new string which is a duplicate of the string s. Memory for the new string is obtained with malloc(3), and can be freed with free(3).