[英]How to calculate padding in C struct
雖然我了解填充通常如何在 C 結構中工作,但我很難理解內部結構是如何填充的。 例子:
struct inner
{
int a;
}
struct outer
{
char a;
struct inner b;
}
member outer.a
和 member outer.b
之間的 padding 是如何計算的?
當成員inner.a
的數據類型從int
變為short
或double
時,struct outer
末尾的填充如何計算?
在 32 位架構和 64 位架構中計算這些填充有什么含義?
為了更好地理解,我總是發現最好對這些東西進行十六進制轉儲並四處玩耍。 這是您的案例的示例:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.