gpt4 book ai didi

c - 时间(空);与时间(&something);

转载 作者:太空狗 更新时间:2023-10-29 16:49:03 27 4
gpt4 key购买 nike

真正简单的问题。根据我的手册页,这两个将做同样的事情:

time_t t;
time(&t);

printf("Time: %ld", t);

...

printf("Time: %ld", time(NULL));

那么,传递指向时间的指针到底有什么好处呢?如果 time() 由于没有时钟可用而失败,我认为这两种变体都没有任何好处。

最佳答案

好处是您不必在调用“时间”后将数据复制到另一个结构中。

如果你是准备数据缓冲区以发送到另一个应用程序/服务器,您将不得不复制数据,这是额外的开销。通过将指针传递到您的数据结构中,您可以一次性将其放在正确的位置。

当然,如果您对数据的唯一用途是将其转换为另一种格式,例如文本 printf,那么使用 NULL 调用它并节省第一个示例所需的额外存储空间会更有效。

最后,由于时间函数使用单个位置来存储其内部时间结构,因此第一种方法将更加线程安全,尽管我不记得“时间”是否实际上是线程安全的。

关于c - 时间(空);与时间(&something);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2928575/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com