首页 > 其他 > 详细

不小心竟然自然自己写了个空指针

时间:2014-03-29 08:25:14      阅读:387      评论:0      收藏:0      [点我收藏+]

在练习写程序过程中写下了如下一段代码。

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!