P是一个指针,顾名思义,它代表的内存中的地址。而 * 操作符则表示该地址所存储的东西。比如说,你有一个仓库,P就是告诉你这个仓库在哪,*P 告诉你的是这个仓库里面有什么。因此,1. *P = a 表示,你把 int 型的变量 a放到这个仓库里,是赋值操作;2. & 是取地址,&a就是获取a的地址,*P = &a,就是将 a 的地址放到这个仓库;3. P = & a,P本身就代表地址指向,所以这里是把a 的地址赋给P,就是将P指向了a。