C学习:%p和%x、%lx、%hx、%llx区别辨析

C学习:%p和%x、%lx、%hx、%llx区别辨析

一句总结

  • %p 可以匹配对应类型的指针地址,输出以16进制表示,会自带前缀0x
  • %x 可以对应int类型的指针,输出以16进制输出,不会自带前缀0x
  • 类似的,%lx,表示long类型指针,用16进制输出

实例分析

  • 当然,上面也可以用 %ld,表示将long类型的指针地址,强制用10进制输出
  • %x只对应输出进制类型,具体的指针地址输出需要根据指针类型加修饰符
  • %p就固定了用16进制,可以囊括不同类型的指针地址表达

总之,推荐以下使用
1、%p来输出指针地址
2、%x来输出十六进制的数,配以修饰符来指明对应整数类型

举例应用

代码如下:

long a[100] = {
   0};
printf("%p\n", a);
printf("%lx\n", a);

输出效果:

0x7fff48bf8c10
7fff48bf8c10
C语言世界 文章被收录于专栏

C语言学习总结分享

全部评论

相关推荐

12-01 12:34
已编辑
广东工业大学 Java
如题,fw🐭🐭,加上准备的太晚,大三上已找不到日常实习,导致连锁反应,下学期的暑期实习找不到好的实习,导致秋招找不到中大厂,现在是中小厂Java还有考公的选择,由于有些中小厂工作强度比肩大厂,钱还少,感觉不如考公如果🐮u们是我现在这种情况,会怎么选?
负债的混子:关注你一段时间了,突然发现你头像名字都改了,想必是这段时间压力很大。关于就业还是考公的选择,就像很多牛友说的:不要美化自己没走过的路。你现在想往互联网发展,发现这条路很难走,然后想往考公发展,但是你没走过考公这条路,所以你不知道这条路的压力如何。你今年大三了,还有时间给你做选择,我希望你能够尽快的决定自己的方向,然后一条路走到黑,而不是在这里徘徊,每个人的道路是不一样的,你无法复刻别人的路,你能做的就是尽力的完善自己。 最后,我想说的是,加油,陌生人!
点赞 评论 收藏
分享
躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务