*p=&i与p=&i有区别吗?(之前已经声明*p了)

或者说声明*p以后*p和p有什么区别,分别代表什么
2025-06-22 16:11:40
推荐回答(2个)
回答1:

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

回答2:

*p表示引用指针所指向地址的值。
*p=&i,p是个二级指针,即p指向另一个指针,然后那个指针指向i的地址,或者说间接指向i的地址。
p=&i,表示p直接指向i的地址。