a是一个普通int变量的‘变量名’,&a是变量存储的地址,可直接通过变量名a访问变量值,改变变量值。
arr是数组的‘数组名’,&arr为数组存储的地址,这是与普通变量的相似点,与普通变量区别是不可通过数组名直接访问数组(数组一般有多个元素),访问arr得到的还是数组的存放地址,即&arr = arr,通过arr可访问数组首元素(这一点与指针很相似),即arr = arr[0],arr = &arr[0],可认为数组是特殊的普通变量。
p是一个指针变量的‘指针名,&p为指针自身地址值,可通过p直接访问,改变变量值,即存储的地址值,通过*p访问的是所存储地址的数据值,可认为指针是特殊的普通变量。