楼主,概念没弄清楚
*p 在定义时代表,定义的是指针类型, 在使用的时候代表的是解引用
&i ,代表的是取变量i 的地址,
int *p=&i;表示定义一个指针变量的同时,并把i的地址赋给p
int *p=i; 这个的意思是,把i里存储的内容当做地址赋给p
int i,j,*p=i 是把i的值赋给指针p 原p的地址不变 int i,j,*p=&i是把i的值和地址都赋给p 地址发生变化
你搞错了第一种用法一般是错误的。 这时候*p不知道指到什么内容了,有可能导致程序崩溃。
第二种*p取的是i的内容。