在练习写程序过程中写下了如下一段代码。
time_t time_t_time = time(NULL); tm *pTm = NULL; localtime_s(pTm, &time_t_time);
自己最初的理解是将指针pTm初始化为空指针,然后
localtime_s函数可以将
time_t_time 的值赋给指针
pTm
在运行过程中提示 Exception ptm!=NULL。
很显然
localtime_s的操作是将
time_t_time 的值存储的pTm的内存空间中,而不是让
pTm重新指向
time_t_time的内存地址。所以程序出错。
tm *pTm = new tm; localtime_s(pTm, &time_t_time);
或者
tm *pTm =NULL; tm tm1; pTm= &tm1; localtime_s(pTm, &time_t_time);
pTm有了内存空间就正确了。
不小心竟然自然自己写了个空指针,布布扣,bubuko.com
原文:http://www.cnblogs.com/leadtheway/p/3631913.html