免费提供一致的动态分配的char指针?

时间:2018-03-13 08:38:46

标签: c malloc free strdup

我有一个包含一堆char指针的结构,其值在整个程序的生命周期中使用。大多数都会在每次迭代时被覆盖。

除了程序退出之外,是否应该释放这些值?是否应该在使用strdup("new value")覆盖char指针中的值之前释放它?

2 个答案:

答案 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).
相关问题