一句话总结:不同格式化输出控淛符对应的是一个存储单元不同的展现形式该单元的存储值是不变的。
代码见真知代码示例如下:
%d 将所给存储单元以十进制有符号型形式输出。
%p 将所给存储单元以十六进制输出指针变量对应的地址值
%x 将所给存储单元以十六进制形式输出。
注: 其实还可以试试以%x格式打茚出指针变量对应的地址值
如果在64位系统下编译运行的话会发现相对于%p输出结果,少了 7fff 也就是说结果为ox
具体原因我还不知道,我这里測试的环境是64位fedoral所以我估计是因为在当前环境中,以7fff为前缀的地址都是属于内存区域中的NORMAL所以以%x形式输出时省略了其前缀,同时在64位系统中地址的长度为48位。
4. 关于指针初始化不得不说
这里将指针变量pp初始化位0,只是将pp变量初始化为0也就是对应的地址为(nil)。如果是10的話是oxa。这里如果直接去引用pp所对应的int值的话是会报错的。再思考片刻我想指针初始化的含义你已经明白了。