有点不懂,高手帮个忙

#include <iostream> using namespace std; int main() { int* p=NULL; int x; double y; y=1; x=(int)y; p=(int*)&y; *p=20; cout<<*p<<endl; cout<<p<<endl; cout<<&y<<endl; cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; system("pause"); return 0; }
y的值没有变,那*p=20到底是什么含义??p=(int*)&y;这句到底有何意义