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的别名 。
文章插图
【*&p是什么意思?】地址计算
地址可 以像整数一样用作运算的对象 。由于地址所表示的是数据所在的存储区域的第一个位置,计算的结果使得指针变量指在数据存储区域的第一个位置上 。因此,地址的计算是按照与整数的计算不同的方法进行的 。
指针变量的运算是根据该变量所指向的数据类型进行的 。例如,设有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)之和 。
推荐阅读
- teek是什么牌子
- 一分一段什么意思 一分一段简单介绍
- 一击即中的意思 一击即中是什么意思
- 百无禁忌的意思 百无禁忌释义及出处
- 传播种子的方法 传播种子的方法是什么
- 非限定性定语从句 非限定性定语从句是什么
- 萨斯噶什么意思 萨斯噶解释
- 三个土念什么 三个土是什么字
- 颇负盛名的颇拼音是什么 词语颇负盛名的颇怎么读
- 冯唐易老李广难封寓意 冯唐易老李广难封寓意是什么