美文网首页
C语言中*p,p,&p的区别

C语言中*p,p,&p的区别

作者: 这个杀手蹲了半天有点冷 | 来源:发表于2018-11-18 21:13 被阅读0次

*p是一个变量,是一个变量。
p是一个地址一个内存地址,不是一个变量。
int *p; printf("%p",p);
会打印出一个16位地址
&p中&是求地址符,例如&a是求a的地址,&b是b的地址

在同一代码中,*p和&p的关系?

上面说过执行int *p之后,p是一个地址但也是一个变量。
&p是一个地址,顺着这个地址能找到一个值,这个值是p,然后p也是一个地址,顺着这个地址能找到另外一个值p
p不再是一个地址,是一个变量就跟int a=1,b=2;里一样。
通俗一点解释找一本《C语言程序设计》的书,图书馆有一本《索引大全》的书,里面记录着馆内所有书的位置
通过《索引大全》——《C语言程序设计》的位置——《C语言程序设计》
上面三个东西分别是&p,p,&*p

相关文章

网友评论

      本文标题:C语言中*p,p,&p的区别

      本文链接:https://www.haomeiwen.com/subject/pycnfqtx.html