avatar
z*f
1
typedef struct
{
double
double
int
} TEST
sizeof(TEST)怎么是24,而不是20呢?
sizeof(double)+sizeof(double)+sizeof(int) != sizeof(TEST)?
avatar
P*i
2
google byte alignment

【在 z***f 的大作中提到】
: typedef struct
: {
: double
: double
: int
: } TEST
: sizeof(TEST)怎么是24,而不是20呢?
: sizeof(double)+sizeof(double)+sizeof(int) != sizeof(TEST)?

avatar
i*l
3
为了对齐
你可以尝试打出结构中每个变量的地址
就会发现结构的内存布局不是象你想的那样
是连续的,而是有空隙的

【在 z***f 的大作中提到】
: typedef struct
: {
: double
: double
: int
: } TEST
: sizeof(TEST)怎么是24,而不是20呢?
: sizeof(double)+sizeof(double)+sizeof(int) != sizeof(TEST)?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。