プログラムはビッグエンディアンかリトルエンディアンかを決定することです。質問からケアマップアップについてendian
これは本の中で与えられた答えです:
int Test(){
short int word = 0x0001;
char *byte = (char *) &word;
return (byte[0] ? BIG:LITTLE);
}
私はこの行を理解していない:char *byte = (char *) &word;
それが「バイトにワードのアドレスを渡す」ということですか?だから、バイトポイントからワードの元のアドレス?私が知っているように、short intは2バイトです。だから、 "バイト"は、より高いアドレスまたはより低いアドレスを指していますか?どうして?
これはどのように機能しますか?
_does「バイト」ポイントリトルエンディアンマシンです_?それはTest関数が決定するものです。マシンによっては高く、他のマシンでは低くなります。 –