在声明指针变量的时候,*p表示声明p是指针变量,比如int *p(声明p为int型指针变量);在调用指针变量的时候,*p表示指针变量p所指向的变量的值,比如int a=5,b; int *p;(声明p为int型指针变量),p=a; b=*p;(把p所指向的变量的值,即a的值赋给变量b)。对于&p,则是代表变量p的地址,显然和以上*p的两种意思都不一样
上面是我自己做的原理图,深入到内存中,你就懂了.不懂随时call
*p是p指向的内容,&p是保存p指针的内存地址
楼主发现这两个的区别了吗?
*p &p
他们的区别无非就是p前面带的符号,如果楼主知道该符号的含义就不会提这个问题了;
* 取值运算符?
& 取地址运算符?
* 和 & 互为反运算符;
楼主还有疑问吗?
加油!!
*p 是取p的内容
&p 是取p的地址