易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++,时间,指针的疑问,谢谢! - C/C++ / C++ 语言

#include <iostream>
#include <time.h>

int main()
{
  using namespace std;

  time_t t1,t2;
  struct tm *p1,*p2;

  t1 = time(0);
  p1 = localtime(&t1);
  cout << p1 << "," << p2 << endl;

  t2 = t1 - 24*3600;
  p2 = localtime(&t2); //这句为什么会改变p1的指针?
  cout << p1 << "," << p2 << endl;
   
  cout << p1->tm_year+1900 << "-" << p1->tm_mon+1 << "-" << p1->tm_mday << endl;
  cout << p2->tm_year+1900 << "-" << p2->tm_mon+1 << "-" << p2->tm_mday << endl;
}

执行结果:
0xd32300,0xbfe2ad08
0xd32300,0xd32300
2010-5-9
2010-5-9

我想问一下,为什么把p1指针的地址改变了呢?
p2 = localtime(&t2)在这之前没使用 是个野指针指向的是任意地址
执行以后P2得到localtime的返回值

0xd32300,0xbfe2ad08
0xd32300,0xd32300
前面那个是p1啊,不是没有改变吗?

p1的地址改变了吗

抱歉,我是指p2的指针为什么会改变为p1的指针?

第一个指针是没经过初始化就使用.得出来的是一个"垃圾值".
vs2010上运行的结果.结果出来前提示错误
00591410,CCCCCCCC
00591410,00591410
2010-5-11


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

execl怎么调用java程序 - C/C++ / C语言

如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。

不会.

运行java程序
找工具查看一下那个程序的命令行

搜索下:jni ......

c静态编译另一个文件夹的库函数 - C/C++ / C语言

在根目录/lib中存放一个log.c,log.h,并用下面的语句:
gcc -c log.c
ar crv liblog.a log.o
编译出一个liblog.a静态库,然后在文件夹:/testfile中创建一个test.c和testc.c,test.c中引用了testc.c中定义的方法 ......

求助:C代码改写成VB代码 - VB / 基础类

谁能帮我把下面这些代码改成VB形式的,多谢了,急用~~
#include "stdlib.h"
#include "math.h"
#include "stdio.h"
float objfx(float x[]);
void constraint(float x[],float g ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号