导航

Printf函数中%p代表什么数据类型

Posted on 2012-09-04 16:29  vivi_wind  阅读(960)  评论(0编辑  收藏  举报

http://blog.csdn.net/kuanxu/article/details/7454081

今天在代码中看到print语句有%p,想了半天愣是想不出它来打印什么数据类型。

通常情况下打印log或者调用sprint等语句,%d, %s, %i等是比较常用的,而如%p,%x等很少见,

所以有必要温习一下print函数来了解各种%值得意义。

 

Printf(xxxxx)

 

功 能:

  产生格式化输出的函数

用 法:

  int printf(constchar *format,[argument]);

  format 参数输出的格式,定义格式为:

 %[flags][width][.perc] [F|N|h|l]type

([]中的内容表示是可根据实际需要选择的,实际使用时不用加[],type即是你看到的%p对应的p)

  规定数据输出方式,具体如下:

  1.type 含义如下:

  d 有符号10进制整数

  i 有符号10进制整数

  o 有符号8进制整数

  u 无符号10进制整数

  x 无符号的16进制数字,并以小写abcdef表示

  X 无符号的16进制数字,并以大写ABCDEF表示

  F/f 浮点数

  E/e 用科学表示格式的浮点数

  g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数

  c 单个字符

  s 字符串

  % 显示百分号本身

  p 显示一个指针,near指针表示为:XXXX

  far 指针表示为:XXXX:YYYY

  n 相连参量应是一个指针,其中存放已写字符的个数