您的位置:首页 > 其它

time()

2016-06-24 09:00 411 查看
time是这样声明的:

time_t time( time_t *timer );

用法是你先自己定义一个time_t变量,让后把变量的地址传给它。函数会返回自1970年1月1日0点走过的秒数,同时把这个返回值保存在你传进来的那个time_t*指向的变量里面。如果你传进来NULL的话,就不保存。

time_t time(time_t *t);

如果t是空指针,直接返回当前时间。如果t不是空指针,返回当前时间的同时,将返回值赋予t指向的内存空间
有 time_t t;
1   . 那time(&t); 是把什么放到了t的地址里、?

2   .看到有人写 time(NULL); 是什么意思、?数据怎么放到空指针里?、

1 是把一个正整数放进t所在的地址里,这个正整数是1970年1月1日00:00:00(UTC)开始,到目前为止经过的秒数。

2 因为time以两种方式返回结果。一种是你第一道题的,给他一个地址,他把结果写进那个地址。第二种直接返回一个time_t。你可以用这种方法接:time_t t = time(NULL)。这里给他一个空指针就是告诉他不需要以第一种方法返回结果,所以当然他也不会把结果写进空指针,他只是不管这个参数而已。当然只要你乐意你也可以两种一起用。


我记得NULL也可以吧?
#include <time.h>
time_t time( time_t *time );
函数time()返回当前时间
若参数time给定,则当前时间存储在time指针中
在VC中,若需要给定time参数,并且返回值和time储存值相同,或是赋予NULL的值
time_t类型即long类型,其值是系统从1970年1月1日00:00:00到现在总共的秒数

看看这个原型声明,你传递0进去就被识别为NULL.
你要传递其它数那还是time_t *time吗???
time_t是一个NNNNN大的数!呵呵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: