struct bytes padding

时间:2012-04-19 10:02:05

标签: optimization struct padding semantic-analysis

从给定的情况来看,我们可以说我们能够以不同的方式声明结构数组。总之,区别在于空间优化,即:

struct { /* 1600 bytes */
    int a, c, e;
    char b, d;
} array_of_struct [100];

如代码顶部所示,这占用了1600个字节。虽然这一个

struct { /* 1400 bytes */
    int a[100], c[100], e[100];
    char b[100], d[100];
} struct_of_array;

只需1400字节。我的问题是,当我们在实际应用程序中使用这类东西时,它们之间是否存在语义差异?优化是好的,但是当我们将结构数组声明为不同的形式时,是否有可能改变代码的主要思想?

0 个答案:

没有答案