【问题标题】:Why do we use 'NULL'? [duplicate]为什么我们使用'NULL'? [复制]
【发布时间】:2020-01-29 00:52:00
【问题描述】:

为什么我们在下面的代码中使用 'NULL'。

为什么我们不能将种子乘以一个整数?

对不起,我是 C++ 新手。

代码

srand(time(NULL));

【问题讨论】:

  • linux.die.net/man/2/time -> 如果t不为NULL,则返回值也存储在t指向的内存中。
  • 让我们重新打开 - 答案不是“什么是 null”,而是“我们为什么要使用 null”?
  • @elcuco 为什么要重新打开?对我来说,链接的答案很清楚为什么需要传递 NULL
  • 我认为答案和重复都解释了为什么 NULL 使用得很好。
  • @elcuco 正如我在第一条评论中所说,我认为缺乏努力。问题很清楚为什么我们在下面的代码中使用'NULL'。答案也很清楚。任何进一步的问题都可以通过互联网搜索10分钟轻松解决,例如:linux.die.net/man/3/srand

标签: c posix


【解决方案1】:

time 函数可以将时间写入由指向函数调用的指针提供的位置。这个指针参数可以是空指针,然后time只返回当前时间。

在大多数系统上,time 函数返回一个纪元以来的秒数,因此是一个非常独特的整数值,可用于seeding the random number generator


单一语句

srand(time(NULL));

等价于

time_t temp_time = time(NULL);
srand(temp_time);

或者如果我们想使用非空指针

time_t temp_time;
time(&temp_time);
srand(temp_time);

【讨论】:

    猜你喜欢
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2014-06-20
    • 2015-08-27
    • 1970-01-01
    • 2012-10-01
    • 2011-05-25
    相关资源
    最近更新 更多