就我所知,在C編程語言中,數組按元素存儲在存儲器元素中。 (即,元素0,元素1,元素2,...,元素n)。我試圖用以下代碼看到:將無符號字符數組轉換爲整數
unsigned char a[] = { '\1' , '\2', '\3' ,'\4' };
printf("%d\n", (int*) a);
由於無符號字符是1個字節,整數是4個字節;我認爲它具有打印值:
00000001 00000010 00000011 00000100 = 2^2 + 2^8 + 2^9 + 2^17 + 2^24 = 16909060
然而,當我運行這個程序,它會爲每個試驗產生不同的結果。
我在這裏錯過了什麼?
在大多數計算機上,字節順序與您所假設的相反。 –
相關:http://stackoverflow.com/q/29969049/694576 – alk