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
日需博客 閱讀(2219)
評論(7) 編輯 收藏 引用 所屬分類:
C C++ 、
未分類