C语言小问题~关于指针~

int a,*p;p=&a则*&a与&*a有什么区别 *&p与&*p有什么区别
2025-12-17 19:54:49
推荐回答(2个)
回答1:

*&a先取地址再取值,仍然是a,但由于a是普通变量,不能用*对其运算,&*a不合法
&*p先取指针指向的值再取地址,&*p先取地址再取值,都合法,是p

回答2:

*&a等效于a
&*a有语法错误。因为a不是地址
*&p等效于p
&*p等效于p或者&a