私が知る限り、Cプログラミング言語では、配列は要素ごとにメモリ要素に格納されます。 (すなわち、要素0、要素1、要素2、...、要素n)。私は次のコードでそれを見ようとしています:符号なし文字配列を整数に変換する
unsigned char a[] = { '\1' , '\2', '\3' ,'\4' };
printf("%d\n", (int*) a);
unsigned charは1バイトで整数は4バイトです。私はそれが値を出力しなければならないと考えられ:= 16909060
00000001 00000010 00000011 00000100 = 2^2 + 2^8 + 2^9 + 2^17 + 2^24
しかし、場合このプログラムを実行すると、試行ごとに異なる結果が生成されます。
私はここで何が欠けていますか?
ほとんどのコンピュータでは、バイトオーダーは想定していたものとは逆です。 –
関連:http://stackoverflow.com/q/29969049/694576 – alk