int x,*p=&x则&*x和*&p分别表示什么

2025-04-07 08:58:58
推荐回答(1个)
回答1:

&*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);