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);
输出效果:
0x7fff48bf8c107fff48bf8c10