int a,*b;,b=&a; 正确的是*&a,&*a,*&b 错误的是 &*b 解释下

2024-12-25 15:21:39
推荐回答(3个)
回答1:

a是“int“类型的,b是“ int* ”类型的它的值是int型变量的地址。&a是a的地址。
*&a→a是int型,&a是a的地址,*&a是a的内容。如果写“int c;c=*&a;”这是对的。
&*a→a是int型,*a这样表达是错的。
*&b→b是“int* ”型,&b得到b的地址,*&b得到b的内容。如果写“int *d;d=*&b;”这是对的。
&*b→b是“int”型,*b是a的值,&*b是a的地址。如果写“int *d;d=&*b;”这是对的。

回答2:

错了,是&*a不对,其他都是可以的。*a不对,从右向左看。运算符优先级

回答3:

就是这样