2个指针指向的地址和变量地址一样,值为什么不一样呢?疑惑。
-
#include "stdafx.h"
-
-
-
int _tmain(int argc, _TCHAR* argv[])
-
{
-
const int a=10;
-
const int *p1=&a;
-
int *p2=const_cast<int *>(p1);
-
if (&a==p1)
-
{
-
printf("&a==p1\n");
-
}
-
else
-
{
-
printf("&a!=p1\n");
-
}
-
if (p2==p1)
-
{
-
printf("p2==p1\n");
-
}
-
else
-
{
-
printf("p2==p1\n");
-
}
-
printf("%#p:%d %#p:%d %#p:%d\n",&a,a,p1,*p1,p2,*p2);
-
*p2=20;
-
if (&a==p1)
-
{
-
printf("&a==p1\n");
-
}
-
else
-
{
-
printf("&a!=p1\n");
-
}
-
if (p2==p1)
-
{
-
printf("p2==p1\n");
-
}
-
else
-
{
-
printf("p2==p1\n");
-
}
-
printf("
\n",
&a,a,p1,
*p1,p2,
*p2
);
-
return 0;
-
}
-
作者:Gezidan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2011-09-10 21:21
日需博客 阅读(2209)
评论(7) 编辑 收藏 引用 所属分类:
C C++ 、
未分类