从给定的情况来看,我们可以说我们能够以不同的方式声明结构数组。总之,区别在于空间优化,即:
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字节。我的问题是,当我们在实际应用程序中使用这类东西时,它们之间是否存在语义差异?优化是好的,但是当我们将结构数组声明为不同的形式时,是否有可能改变代码的主要思想?