不一样,前者:* p是指向内存p地址中所存的单元,*p=a是把这个单元内的值取a。后者:p是一个变量,&a是取a变量的地址,p=&a就是获得a的内存地址。
总得来说没区别,就是指针初始化的时间不同而已int *p = &a;//这里p声明的时候直接初始化它的值为变量a的地址int *p;//声明指针p,p的值不确定可能指向任何地址,p = &a;//显示初始化使p指向a的地址
不一样,一个是取数值一个是取地址