C语言”%p”的意思-----printf("%p",p)

printf("%p",p)    

%p是打印地址(指针地址)的,是十六进制的形式,但是会全部打完,即有多少位打印多少位。

32位编译器的指针变量为4个字节(32位),64位编译器的指针变量为8个字节(64位)。

所以,在32位编译器下,使用%p打印指针变量,则会显示32位的地址(16进制的);在64位编译器下,使用%p打印指针变量,则会显示64位的地址(16进制的),左边空缺的会补0。

%x:无符号十六进制整数(字母小写,不像上面指针地址那样补零)

%X:无符号十六进制整数(字母大写,不像上面指针那样补零)

%x、%X和%p的相同点都是16进制,不同点是%p按编译器位数长短(32位/64位)输出地址,不够的补零

下图中指针形式为64位,即阿紫64位编译器下运行的

上图片来自下面的第一个参考博客,里面有该图的运算代码。

参考:

C语言”%p”的意思:https://blog.csdn.net/i_pangpang/article/details/80261647

关于printf("%p",p);使用方法的一些总结:https://blog.csdn.net/Dandelion_drq/article/details/44597633

  • 43
    点赞
  • 214
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值