1 是把一个正整数放进t所在的地址里,这个正整数是1970年1月1日00:00:00(UTC)开始,到目前为止经过的秒数。
创新互联公司是一家集网站建设,鸡泽企业网站建设,鸡泽品牌网站建设,网站定制,鸡泽网站建设报价,网络营销,网络优化,鸡泽网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
2 因为time以两种方式返回结果。一种是你第一道题的,给他一个地址,他把结果写进那个地址。第二种直接返回一个time_t。你可以用这种方法接:time_t t = time(NULL)。这里给他一个空指针就是告诉他不需要以第一种方法返回结果,所以当然他也不会把结果写进空指针,他只是不管这个参数而已。当然只要你乐意你也可以两种一起用。
C语言time(NULL)是以当前时间为种子,产生随意数。
其中,time(NULL)用来获取当前时间,本质上得到的是一个大整数,然后用这个数来随机数。
time()这个函数其实保存的是一个历史时间,所以需要用NULL把这个历史时间清空一下,time()就会自动保存当前时间了。你可以简单的理解为NULL就是给time()初始化。
c语言调用time()函数括号里为什么要用NULL?
time是这样声明的:time_ttime(time_t*timer)
用法是你先自己定义一个time_t变量,让后把变量的地址传给它。函数会返回自1970年1月1日0点走过的秒数,同时把这个返回值保存在你传进来的那个time_t*指向的变量里面
如果你传进来NULL的话,就不保存。
time_t time( time_t *time );
函数time()返回当前时间,若参数time给定,则当前时间存储在time指针中。
注意,这个参数的类型是time_t *,即一个指针,如果你传的是0的话,会被自动看成NULL,空指针,肯定是无法保存当前时间的。
所以time()函数的实际功能是:如果参数为0则函数返回值即为结果,若参数不为0,则结果保存在参数中。
头文件time.h
@函数名称: localtime
函数原型: struct tm *localtime(const time_t *timer)
函数功能: 返回一个以tm结构表达的机器时间信息
函数返回: 以tm结构表达的时间,结构tm定义如下:
struct tm{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
参数说明: timer-使用time()函数获得的机器时间
#include time.h
#include stdio.h
#include dos.h
int main()
{
time_t timer;
struct tm *tblock;
timer=time(NULL);
tblock=localtime(timer);
printf("Local time is: %s",asctime(tblock));
return 0;
}
@函数名称: asctime
函数原型: char* asctime(struct tm * ptr)
函数功能: 得到机器时间(日期时间转换为ASCII码)
函数返回: 返回的时间字符串格式为:星期,月,日,小时:分:秒,年
参数说明: 结构指针ptr应通过函数localtime()和gmtime()得到
所属文件: time.h
#include stdio.h
#include string.h
#include time.h
int main()
{
struct tm t;
char str[80];
t.tm_sec=1;
t.tm_min=3;
t.tm_hour=7;
t.tm_mday=22;
t.tm_mon=11;
t.tm_year=56;
t.tm_wday=4;
t.tm_yday=0;
t.tm_isdst=0;
strcpy(str,asctime(t));
printf("%s",str);
return 0;
}
@函数名称: ctime
函数原型: char *ctime(long time)
函数功能: 得到日历时间
函数返回: 返回字符串格式:星期,月,日,小时:分:秒,年
参数说明: time-该参数应由函数time获得
所属文件: time.h
#include stdio.h
#include time.h
int main()
{
time_t t;
time(t);
printf("Today's date and time: %s",ctime(t));
return 0;
}
@函数名称: difftime
函数原型: double difftime(time_t time2, time_t time1)
函数功能: 得到两次机器时间差,单位为秒
函数返回: 时间差,单位为秒
参数说明: time1-机器时间一,time2-机器时间二.该参数应使用time函数获得
所属文件: time.h
#include time.h
#include stdio.h
#include dos.h
#include conio.h
int main()
{
time_t first, second;
clrscr();
first=time(NULL);
delay(2000);
second=time(NULL);
printf("The difference is: %f seconds",difftime(second,first));
getch();
return 0;
}
@函数名称: gmtime
函数原型: struct tm *gmtime(time_t *time)
函数功能: 得到以结构tm表示的时间信息
函数返回: 以结构tm表示的时间信息指针
参数说明: time-用函数time()得到的时间信息
所属文件: time.h
#include stdio.h
#include stdlib.h
#include time.h
#include dos.h
char *tzstr="TZ=PST8PDT";
int main()
{
time_t t;
struct tm *gmt, *area;
putenv(tzstr);
tzset();
t=time(NULL);
area=localtime(t);
printf("Local time is:%s", asctime(area));
gmt=gmtime(t);
printf("GMT is:%s", asctime(gmt));
return 0;
}
@函数名称: time
函数原型: time_t time(time_t *timer)
函数功能: 得到机器的日历时间或者设置日历时间
函数返回: 机器日历时间
参数说明: timer=NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型
所属文件: time.h
#include time.h
#include stdio.h
#include dos.h
int main()
{
time_t t;
t=time();
printf("The number of seconds since January 1,1970 is %ld",t);
return 0;
}
@函数名称: tzset
函数原型: void tzset(void)
函数功能: UNIX兼容函数,用于得到时区,在DOS环境下无用途
函数返回:
参数说明:
所属文件: time.h
#include time.h
#include stdlib.h
#include stdio.h
int main()
{
time_t td;
putenv("TZ=PST8PDT");
tzset();
time(td);
printf("Current time=%s",asctime(localtime(td)));
return 0;
}
time是C语言获取当前系统时间的函数,以秒作单位,代表当前时间自Unix标准时间戳(1970年1月1日0点0分0秒,GMT)经过了多少秒。
形式为time_t
time(time_t
*
t);
该函数提供两种返回方式,返回值,和指针参数。
可以根据需要选择。当参数t为空指针(NULL)时,只返回值。
而NULL的定义是(void
*)
0,
所以time(0)也就是time(NULL)的另一种写法,表示只通过返回值获取时间值。
扩展资料:
time函数
函数名称:
localtime
函数原型:
struct
tm
*localtime(const
time_t
*timer)
函数功能:
返回一个以tm结构表达的机器时间信息
函数返回:
以tm结构表达的时间,结构tm定义如下:
#ifndef
_TM_DEFINED
struct
tm
{
int
tm_sec;
/*
秒
–
取值区间为[0,59]
*/
int
tm_min;
/*
分
-
取值区间为[0,59]
*/
int
tm_hour;
/*
时
-
取值区间为[0,23]
*/
int
tm_mday;
/*
一个月中的日期
-
取值区间为[1,31]
*/
int
tm_mon;
/*
月份(从一月开始,0代表一月)
-
取值区间为[0,11]
*/
int
tm_year;
/*
年份,其值等于实际年份减去1900
*/
int
tm_wday;
/*
星期
–
取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推
*/
int
tm_yday;
/*
从每年的1月1日开始的天数
–
取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推
*/
int
tm_isdst;
/*
夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/
};
#define
_TM_DEFINED
#endif
参数说明:
timer-使用time()函数获得的机器时间
参考资料来源:百度百科-time.h