麻烦各位解释一下&p为什么和p是什么关系,而&p和p又是什么关系,搞不懂,能不能解释的详细一些
p是怎么定义的
举例如下:
int a = 3;
int *p = &a;
p就是变量a的地址(或者说p是指向变量a的指针)
*p 就是取p所指向的内存的变量的值,也就是a的值
&p则是取p的地址(相当于二级指针)
你这些贴内容,导致 * 号看不到了。用代码块格式化一下,和我这个一样
如果p是int,那么应该没有 &*p这种写法。这么写要求p是指针类型,结果和p是一个意思。* 和 &是相反的两个操作, * 用来获得指针指向的变量, &用来获得变量的地址
这个很好理解
p只是您定义的一个名字,名字你可以随便定义 a b c d 都可
然后取地址的时候就是 &a &b &c &d
&p &这个符号是取地址符号,就是把这个变量(p)的地址取出来