首先你要清楚一个点,这里的a,b都是变量名称,举个例子在地址0X0000FFFF处存了一个int型的变量为10,为了方便程序员使用,我们给他命名为a,那么我们在用a的时候其实就是在用那个地址为0X0000FFFF处的变量。
好了回到这里,*py和*px表示的是指针,py和px才是地址。假设a的地址是0X0000FFFF,该地址所存的内容为10,那么这里的px也是-X0000FFFF,而*px表示该地址所存的内容,也就是10.。那么可以很好理解这里其实不是交换地址,而是交换值。
a,b的地址没有变,即a,b的内存地址没有改变,改变的只是内存上存储的值
ffff0100 4
ffff0104 6
比如内存地址ffff0100 处存储的值为4,ffff0104 存储的值为6,其中px为ffff0100 。改变的只是内存上存储的值