printf 部分详细分析

printf("%d",p)和printf("%p",p)的区别

printf 部分详细分析
printf 部分详细分析
详解

  • 8行和第11行输出一样都是“%d”,可见 a 和&a[0]是一样的输出都是a的地址,但用十进制表示。
  • 10行和9行的输出都是数组第一位的值,可见 *aa[0] 是一样的。
  • 12行比11行数字大了4,是因为int所占内存为4字节(bite)
  • 由计算器得知6487568(10)和62 FE10(16)是一样大的,所以"%p"以十六进制输出a的地址,共16位。但C语言中好像并没有%p这个表达形式,是C++中的。同理18行也是一样
  • 至于14、15、16行,说明%p以16为输出结果,对于纯数字并没什么改变,具体原因暂时不清楚,以后深入学习了解。