[英]How time.h handles memory
抱歉,这可能是一个愚蠢的问题,但我在time.h
的文档中找不到答案。
因此,例如,当我打电话给gmtime
time_t today;
struct tm *info;
time(&today);
info = gmtime(&today);
它返回指向 tm 结构的指针。 我假设它返回指向分配有 malloc 的 memory 的一部分的指针,但是如果我现在调用free
info
- free
返回错误。 那么库time.h
如何处理 memory 分配,我应该担心“释放”它吗?
它返回指向分配有 malloc 的 memory 的一部分的指针,但是如果我现在免费致电获取信息
不, gmtime
返回指向 static object 的指针。
除了 strftime function 之外,这些函数都返回一个指向 static 对象的两种类型之一的指针:分解的时间结构或字符数组。 执行返回指向这些 object 类型之一的指针的任何函数可能会覆盖任何 object 中的信息,该信息由任何先前调用返回的值所指向的相同类型。 实现的行为就像没有其他库函数调用这些函数一样。
库 time.h 如何处理 memory 分配
它使用 memory 分配了 static 存储持续时间,在整个程序执行期间有效。
我应该担心“释放”它吗?
不。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.