如果我将结构的所有数据类型更改为 char ,我得到的大小为 6,即使对象布局有偏移量

问题描述 投票:0回答:0

来自这个post 我已将 ParticleTwo 更改为

typedef struct ParticleTwo {                                                                 
    char type;                                                                               
    char m;                                                                              
    char x,y;                                                                              
    char vx, vy;                                                                           
} ParticleTwo;  

我得到以下

米1

x 2

3

vx 4

维 5

结构大小 --> 6

上面的偏移量,但是每个 char 的大小都是 1 个字节,所以整个结构大小为 6 是怎么回事?

数据结构对齐

数据对齐

c memory-alignment
© www.soinside.com 2019 - 2024. All rights reserved.