这个用*p1=*p2应该也是对的
你可以实验一下
若定义int a,b,*p1=&a,*p2=&b;使p1指向b的赋值语句()不好意思。。。
*p1是指向的a的地址,*p2是指向的b的地址。*p1的值是a地址上数的值,*p2的值是b地址上数的值。
&p2是一个地址,*&p2才代表一个数。(p1指向b的赋值语句()
答案是p1=*&p2)
&p2就是取p2的地址,前面再加*就是取p2的地址所指向的内存的数据,实际上就是p2。
等价于p1=p2;
这是指针,Int* p 定义一个指针。接触过汇编你就会知道,这只是指向该数据的一段IP地址而已。也就是说给指定数据命名为一个指针…并指向这个地址。然后地址对应的值当然就是这个值了
问题就是错的,首先你P2,P1都没定义,也没说明,答案就冒出p1=*&p2
,叫人解释?