首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ - *p vs &p vs p

C++ - *p vs &p vs p
EN

Stack Overflow用户
提问于 2012-03-12 11:08:41
回答 4查看 21.6K关注 0票数 5

我仍然在努力理解* p,&p和p之间的区别。根据我的理解,*可以被认为是“指向的值”,而&可以被认为是“的地址”。换句话说,*保存值,而&保存地址。如果这是真的,那么*p和p之间的区别是什么?就像*p一样,p不是持有某物的值吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-12 11:10:58

*运算符用于间接寻址。间接性意味着p中的值被解释为内存地址,并加载该地址上的值。pp的值,而*p是存储在p指向的内存位置中的值。当您希望间接访问整数i的值时,可以使用指向它的整数指针(int *p = &i),并使用该指针间接修改i的值(*p = 10)。

票数 8
EN

Stack Overflow用户

发布于 2012-03-12 11:13:20

我给你举个例子:int q=12; int *p=&q; int *pp; pp=&q;

从技术上讲,*&不包含任何内容,因为它们都对变量进行操作。*将提取值,而&将提取地址。挖掘指针魔力的最好方法是调试。

票数 2
EN

Stack Overflow用户

发布于 2016-12-27 01:46:32

代码语言:javascript
复制
          **Adress|Data**
          00001   |12345-----|
          00002   |45678     |
          12345   |99887 <---|-------|
          6757    |33431             |
          9987    |22894<------------|

          Print(&p)----->00001
          Print(p)------>12345
          print(*P)----->99887
          Print(**p)---->22894
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9661293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档