Есть структура:
struct TEST {
char s; //symbol
int d; //digit
};
Размер этой структуры 8 байт.
ПАМЯТЬ:

Вот в памяти получается так будет хранится структура? Т.е., в 0 адресе переменная
char s;, а потом вроде бы выравнивание, у int это 4 байт (хоть я в примере в ПАМЯТИ показал, что это самое выравнивание 3 байт). Как это работает, т.к. то что я описал, скорее всего неверно. Т.е., каждый тип должен быть не просто по какому-то адресу, а именно в кратном ему адресу? Если int = 4, то он не может располагаться в памяти НЕ кратном ему адресу?
На счёт того, что это нужно для процессора, для быстрой чего-то. Я также не понимаю, но это скорее всего уже дело глубже чем мой вопрос.