p = &a; 把 a 的地址值给 p p的值为 a 的地址值
*p = 0x500 指针P所指的内存地址值的内容为 0x500 同时由于上一步 p的值为a的地址值,所以改地址值的内容为0x500,即 a 锁代表的值是500
a = (int )(*(&p)); 这一部相当于int *a ; a=&p 再次把p 的地址值 赋给a ,此前 将a的地址值赋值给了p,现在又吧 p的地址值赋值给了a,所以 a和 p 有了相同的地址值。
a = (int (&(*p))); 相当于 int a ; a=(&(*p)) ,把p地址值中的内容赋值给了a。
所以现在 p 和 a 应该是无论地址值和内容都是相等的 无论用 == 还是equals 都是相等的~~~~
所以 输出正确的拿一个 即 "equal !/n
|