怎么获得一个指针变量所指向的地址的值

比如说定义了一个指针变量int*p,p指向的地址为0x80000,那在C语言中我怎么p指向的地址为0x80000?额,打少了几个字,应该是这样的:定义了一个指针变量int... 比如说定义了一个指针变量int *p,p指向的地址为0x80000,那在C语言中我怎么p指向的地址为0x80000?
额,打少了几个字,应该是这样的:定义了一个指针变量int *p,p指向的地址为0x80000,那在C语言中我怎么取得p指向的地址也就是0x80000这个物理量?
展开
 我来答
百度网友14e1783
2011-08-30 · TA获得超过251个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:145万
展开全部
假设0x80000地址的值为5,int *p ,p这个变量在内存中的地址为0x8abcd,
那么 p == 0x80000;*p == 5; &p == 0x8abcd;

p指向的地址为0x80000,就是说p = 0x80000;
如果要求0x80000地址的值,就是用*p;
&p是求int型指针变量p本身的地址,这是一个二级指针,即 int **a = &p;
匿名用户
2015-08-11
展开全部
  使用指针间接运算符可获取位于指针所指向的位置的变量。 表达式采用下面的形式,其中,P是指针类型:
  *p;

  不能对除指针类型以外的任何类型的表达式使用一元间接寻址运算符。 此外,不能将它应用于 void 指针。
  当向 null 指针应用间接寻址运算符时,结果将取决于具体的实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leafallen
2011-08-30 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1169
采纳率:50%
帮助的人:1214万
展开全部
比如你要输出地址的话printf("%p\n",p);
如果你要输出地址指向的值的话printf("%d\n",*p);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fishmin2005
2011-08-30 · TA获得超过529个赞
知道小有建树答主
回答量:498
采纳率:0%
帮助的人:428万
展开全部
说白了P本身也是个变量,存储的时地址而已,正常用为*p,取得是数据,如果直接用p那就是地址了。可以试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5c59aab
2011-08-30
知道答主
回答量:44
采纳率:0%
帮助的人:6.5万
展开全部
&p就是地址
*p是具体的int数值
如:
int q;
q=&p;//q=0x80000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式