【发布时间】:2011-02-10 18:42:11
【问题描述】:
程序是决定大端还是小端。
这是书中给出的答案:
int Test(){
short int word = 0x0001;
char *byte = (char *) &word;
return (byte[0] ? BIG:LITTLE);
}
我不明白这一行:char *byte = (char *) &word; 意思是“将字的地址传递给字节”吗?那么,现在字节指向字的原始地址?据我所知,short int 是 2 个字节。那么,“字节”是指向更高地址还是更低地址?为什么?
这是如何工作的?
【问题讨论】:
-
“字节”是指向高地址还是低地址? 这正是 Test 函数应该确定的;在某些机器上更高,在其他机器上更低。
标签: c endianness