黑马程序员技术交流社区

标题: *p、&p、p有什么区别,深剖一下 [打印本页]

作者: 每天进步一点点    时间: 2014-6-13 20:43
标题: *p、&p、p有什么区别,深剖一下
本帖最后由 每天进步一点点 于 2014-6-14 18:45 编辑

哪位大神讲讲*p、&p、p的本质区别,讲深一点
作者: 69042011    时间: 2014-6-13 20:49
本帖最后由 69042011 于 2014-6-13 21:00 编辑

*p  指针  访问指针变量指向的空间 比如定义int p1; int *p; p = &p1; 那么*p就相当于p1这个变量
&p  变量p的地址
p 如果定义p是指针,那么p是用来存放地址的


作者: 69042011    时间: 2014-6-13 20:54
他们之间的关系是
int *p;
int p1;
p = &p1; // 把p1的地址给指针p,单个指针p用来存放地址的
*p = 10;//把10赋值给了p指针指向的空间,也就是p1,那么此时p1就 = 10

作者: 每天进步一点点    时间: 2014-6-13 23:42
69042011 发表于 2014-6-13 20:54
他们之间的关系是
int *p;
int p1;

它们怎么称呼啊?
p——指针
*p——?
&p——?
作者: 69042011    时间: 2014-6-14 13:19
每天进步一点点 发表于 2014-6-13 23:42
它们怎么称呼啊?
p——指针
*p——?

如果你先不看定义 那么 *p是指的指针   p是个变量   &p是变量p的地址

作者: 每天进步一点点    时间: 2014-6-14 18:41
69042011 发表于 2014-6-13 20:54
他们之间的关系是
int *p;
int p1;

谢谢,明白了
作者: Emy♪    时间: 2014-6-15 09:17
2L已经很详细了哈哈。{:2_32:}
作者: yueyuanlin    时间: 2014-6-15 17:26
P  —指针名
*p  指针指向的变量
&p 指针的地址
能这么理解吗?
作者: 邱蚓    时间: 2014-6-15 22:03
一直覺得這個問題很麻煩啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2