p什么意思,*&p是什么意思

你要先明白这种情况

p什么意思,*&p是什么意思

文章插图
int
a=10;
int
p=a;
这种情况,p与a是不同的变量p什么意思,这里是将a的值赋给p
int
【p什么意思,*&p是什么意思】&p=a;

p是a
的别名,p和a其实是同一个整形变量,两个占用同一块内存空间,如果有
p=15;那么a也是15,修改p与修改a是完全等价的
那么
int
*a;
int
*
&p=a;
很容易理解,把
int
*
看成一个类型,a就是一个整型指针,p
是a的别名
int *p;这样才是定义指针单独的*p是解引用int *q=0;int *&p=q;这是定义一个int指针的引用如果是这样:int p=5;*&p;这是先对p取址,再对&p解引用,获得p的值 。不过通常不会这样多此一举