*&p是什么意思?

*p是一个指针, &p是取变量p的地址,
那*&p是什么意思?

int a=10。int p=a。这种情况,p与a是不同的变量,这里是将a的值赋给pint &p=a。即 p是a 的别名,p和a其实是同一个整形变量,两个占用同一块内存空间,如果有 p=15;那么a也是15,修改p与修改a是完全等价的。

那么int *a。int * &p=a。很容易理解,把 int * 看成一个类型,a就是一个整型指针,p 是a的别名。

地址计算

地址可 以像整数一样用作运算的对象。由于地址所表示的是数据所在的存储区域的第一个位置,计算的结果使得指针变量指在数据存储区域的第一个位置上。因此,地址的计算是按照与整数的计算不同的方法进行的。

指针变量的运算是根据该变量所指向的数据类型进行的。例如,设有char *P; int *q;当执++p;++q。

这样两个递增语句时,由于字符型数据的大小是以1个字节为单位的,因此P被递增1;而由于整型数据的大小通常是以2个字节为单位的,因此q被递增2。p=p+4; q=q+4;时,指针变量P被加上4,而指针变量q则被加上8。由此可见,设P为指针变量,p+k的意思是由P所指向的数据后的第k个数据的地址,亦即P的值与k*sizeof(*p)之和。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-25
int *p;这样才是定义指针
单独的*p是解引用
int *q=0;
int *&p=q;这是定义一个int指针的引用
如果是这样:
int p=5;
*&p;这是先对p取址,再对&p解引用,获得p的值。不过通常不会这样多此一举本回答被提问者采纳
第2个回答  2019-09-29
你要先明白这种情况
int
a=10;
int
p=a;
这种情况,p与a是不同的变量,这里是将a的值赋给p
int
&p=a;

p是a
的别名,p和a其实是同一个整形变量,两个占用同一块内存空间,如果有
p=15;那么a也是15,修改p与修改a是完全等价的
那么
int
*a;
int
*
&p=a;
很容易理解,把
int
*
看成一个类型,a就是一个整型指针,p
是a的别名
第3个回答  2019-03-18
屁的意思喽,网上一般都这么快捷打的。
或是停止的意思,但此类意思在游戏中是不会出现的。
在现实中比如什么的标志,有P就是停的意思。
第4个回答  2006-08-25
指针的一个引用
相似回答