关于%p的疑问

远诚友加 2019-12-16 05:53:07
我想问下各位前辈,假设int *p,d p=&d printf(“%p”,p) 输出的地址是指针p本身的地址还是指向的d的地址,如果指针本身没有地址就好理解了,但是又听人说指针本身有地址我就很疑惑,书上也找不到关于%p的介绍
...全文
29 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2019-12-16
  • 打赏
  • 举报
回复
是变量d的地址值。因为p = &b;这个表达式的操作就是把b的地址值存在变量p中。
%p是输出地址值,一般是指针的。
铖邑 2019-12-16
  • 打赏
  • 举报
回复
%p是一种指针变量显示格式,并不常用,一般情况下%X或者%x就可以了
铖邑 2019-12-16
  • 打赏
  • 举报
回复
所有的变量都有地址,代表变量在内存中所在的位置,除了地址之外,变量还有值,就存放在该地址所指向的那段内存空间里面,甚至常量也有地址和值。指针变量也是变量,当然也有地址。只不过指针变量(在32位应用里面是一个32位的整数)的值又是一个地址,这个地址可以随程序运行过程中改变,改变的就是指针的值,通过这个值可以引用到另一个地址里面的值。如此而已!
Hello! World 2019-12-16
  • 打赏
  • 举报
回复
这个输出的是指向d的地址

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧