肯定不一样,int * p;是定义一个指针“*p = i; ”里德*P是p的值了,“ p = &i”是p指向了i的地址,也可以理解为将i的地址付给了指针p。如果*p=i的话那printf("*p=%d\n",p);这样改应该就能运行起来了。但是这两者的意义就不同了。建议你多看看指针的基础知识。
分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分分
*p表示引用指针所指向地址的值。
*p=&i,p是个二级指针,即p指向另一个指针,然后那个指针指向i的地址,或者说间接指向i的地址。
p=&i,表示p直接指向i的地址。