求问如何打印地址中的值

gaoyuan78   2009-11-3 15:18 楼主

传进来一个物理地址的地址,这个地址是 int型变量,如何打印 这个int型值作为地址的所指向的值呢:

int in_strm_buf;   //这个是存放地址的变量

.....


printf("[%8x]=%d\n",in_strm_buf,*(in_strm_buf));       

这样编译有错
error: invalid type argument of 'unary *' (have 'int')
那应该怎么打印呢? 谢谢

回复评论 (4)

printf("[0x%x]=0x%x\n",in_strm_buf,*(void *)(in_strm_buf));备注:void可以改成in_strm_buf地址中存储的数据类型,我是让以十六进制打印出来的
点赞  2009-11-3 15:38
先强制转换成一个指针再解应用
另外,你这只是编译错误

你不能直接操作物理地址
现映射到虚拟地址再来
点赞  2009-11-3 17:18
使用RETIALMSG
点赞  2009-11-3 22:50
%p?
点赞  2009-11-3 23:15
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复