关于整形指针转换成字符型指针
#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就是高端了 ,低端先进寄存器还是内存