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("%#p:%d %#p:%d %#p:%d\n",&a,a,p1,*p1,p2,*p2);
return 0;
}
作者“Gezidan Studio (鴿子蛋)”