读书人

关于整形指针转换成字符型指针解决办法

发布时间: 2012-06-07 15:05:14 作者: rapoo

关于整形指针转换成字符型指针
#include <iostream>
using namespace std;
int main()
{
int a=0x12345678;//十六进制数
printf("%d\n",&a);
char *p;
p=(char *)&a;
for(int i=0;i<4;i++)
{
printf("%d\n",p+i);//输出每个字节的地址
printf("%x\n\n",*(p+i));
}
return 0;
}
output:
1244996
1244996
78

1244997
56

1244998
34

1244999
12
我的疑问是:输出的顺序是逆着的?为什么不是12 34 56 78??也就是说 在地址为1244996中放的不是12??

[解决办法]
大端小端的问题。楼主谷歌去吧。
[解决办法]
恩 大小端问题

http://www.cnblogs.com/guyan/archive/2011/12/12/2284786.html
[解决办法]
我也是遇到这样的问题 12345678 大概是 78是低端 56 34 也是 到12就是高端了 ,低端先进寄存器还是内存

读书人网 >C++

热点推荐