0
A
回答
4
這是一個數據類型爲alignment的問題。
有人可以向我解釋爲什麼偏移量爲0,4,8,16和24?
第一項總是在結構的開始處(偏移0)。
char
佔用一個字節,所以下一個偏移量爲1.然而,double*
是4字節對齊(爲了性能),所以它進入下一個4字節偏移量,4.在x86(32位)指針是4個字節,所以下一個偏移量是8,其中i
去。
我知道double的字節大小是8,int是4,但我認爲short是1?爲什麼它從16增加到8?
相關問題
- 1. C數據類型'long'在Intel x86 64位機器上
- 2. x86-64處理器的數據類型
- 3. 「X86」與目標機器類型「64」
- 4. 。x86 x86機器上的x64開發
- 5. 錯誤LNK1112:模塊機型 '64' 與目標機器類型 'X86'
- 6. Qt5Cored.lib(Qt5Cored.dll):模塊機器類型'x64'與目標機器類型'X86'衝突
- 7. 自定義數據類型?
- 8. 自定義數據類型
- 9. 定義自定義數據類型
- 10. 使用其他數據類型定義的數據類型
- 11. x86數據類型(0x)幫助
- 12. X86 IA32程序集,壞註冊名稱
- 13. Oracle機器整數數據類型
- 14. 生成隨機數隨着定義數據類型
- 15. 根據數據類型定義fmap
- 16. 數據類型限定符定義PostgresSQL
- 17. x86函數調用類型
- 18. 定義數據類型的值太大
- 19. Python用戶定義的數據類型
- 20. 定義循環中的數據類型
- 21. Java中的自定義數據類型
- 22. 值太大定義的數據類型
- 23. 數據類型定義的限制
- 24. SML中的自定義數據類型
- 25. 定義數據類型多維數組
- 26. Ubuntu,x86機器上的GStreamer OMX插件
- 27. 用戶自定義數據類型VS用戶自定義類型VS用戶定義的表類型
- 28. GTK +機器可讀類型數據
- 29. 機器上int數據類型的寬度
- 30. 如何在IA32或x86 ISA中設置二進制數的特定位?
字邊界對齊 –