为什么sizeof操作员返回的结构尺寸大于结构成员的总尺寸?
我理解C中的结构概念.我也理解结构如何存储在内存中.所以我创造了以下内容:
struct tag1 {
char a;
int b;
}var1;
Run Code Online (Sandbox Code Playgroud)
结构的大小是8个字节(以gcc为单位).
内存布局示例.
-----------
| | | | | ---> char a (only 1 byte is used and remaining 3 bytes are padding)
-----------
| | | | | ---> int b (4 byte is used)
-----------
Run Code Online (Sandbox Code Playgroud)
现在我对这个示例程序有一些疑问.嵌套结构如何存储在内存中.
struct tag1{
int a;
struct tag2{
long b;
}var1;
}var2;
Run Code Online (Sandbox Code Playgroud)