p为一个指针的话,*p=x是给已经指向可用空间的变量赋值用的,它必须先让指针p指向一个可用的存储空间,然后这个语句就把x中存储的值复制到p所指向的那个空间。而p=&x;就是让p指向一个可用的存储空间的语句(p指向变量x)。比方说:int x=12,y,*p;p=&x;*p=x*x; //----这个语句的作用,就相当于x=x*x;是完全一样的。 若下面还有:*p=&y; //p指向y了*p=x;则执行此语句后变量y的值就是144了(y的值与x相同了)