&*x 和 *&p 都是错误的表达。因为 int x; 没有 *x 形式,只有求地址 &x 形式.因为 int *p; 没有 &p 形式,只有求指向的值 *p 形式.可以 有 &*p, 可以 有 *&x. &*p 就是 p, *&x 就是 x.例如:int x=8; int *p=&x;printf("%d %p %p\n",*&x,&*p, &x);等同 printf("%d %p %p\n",x,p, &x);