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