日期:2014-05-16  浏览次数:20645 次

段错误。。。
C/C++ code

time_t *now;
time(now);/*出现段错误*/

time_t now;
time(&now);/*没问题*/

我是这样理解的:time_t *now;定义的指针只有四个字节,
time()输出time_t结构到now,time_t大于四个字节。
所以引起了内存越界而导致段错误。
不知道这样理解是否恰当,请高手指教。。。


------解决方案--------------------
*now没有分配空间,要*now = malloc(sizeof(time_t))才行
------解决方案--------------------
野指针
野到啥程度不在掌控之中
------解决方案--------------------
time_t *now;
这是野指针,指向的内存位置不明确,将值赋给其指向的位置可能会引起系统奔溃,所以段错误。不是你理解的那样。
------解决方案--------------------
就是这样。定义的时候并没有给它分配内存。赋值之后才能明确指向某一个指针