Структура байтов
Исходя из данной ситуации, мы можем сказать, что мы можем объявить массив структур по-разному. Как я заключаю, разница заключается в оптимизации пространства, а именно в следующем:
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 байт. Мой вопрос заключается в том, что когда мы используем такие вещи в реальных приложениях, есть ли между ними какая-то семантическая разница? Оптимизация хороша, но возможно ли изменить основную идею кода, когда мы объявляем массив структур в разные формы?