int在内存中的存储方法
int在内存中的储存方法
求问我上面的这段代码,写进a.b的顺序是先1再2,但是为什么print出来时是先2后1.求大神指教
------解决方案--------------------
你需要了解的是
bigEndian 和 littleEndian
------解决方案--------------------
在调试时. 运行到你的变量的地方,再 Alt+6 就出内存区域, 然后在地址的地方输入你的变量的地址, 就可以看到这个变量的内存布局.
struct aaa
{
int a;
short int b;
};
int main(){
aaa a;
a.b = 0x0102;
char* p = (char*)&a;
for (int i = 0; i < 8; i++)
{
printf("%d\t%d\n", (p+i), *(p+i));
}
}
求问我上面的这段代码,写进a.b的顺序是先1再2,但是为什么print出来时是先2后1.求大神指教
------解决方案--------------------
你需要了解的是
bigEndian 和 littleEndian
------解决方案--------------------
在调试时. 运行到你的变量的地方,再 Alt+6 就出内存区域, 然后在地址的地方输入你的变量的地址, 就可以看到这个变量的内存布局.