相同的地址,但是值不同.不知道编译器怎么处理的.
以下代码在vc6中,p和&a相等,*p和a值不同.
#include <iostream.h>
void main(void)
{
const int a=20;
int *p=(int *)&a;
*p=5;
{
const int a=20;
int *p=(int *)&a;
*p=5;
cout<<p<<":"<<*p<<endl
<<&a<<":"<<a<<endl;
}
<<&a<<":"<<a<<endl;
}