Mips 32bit и Struct (C) с вопросами о размере
У меня есть следующий код C
struct foo {
char a;
struct innerStruct table[2];
int c;
 bool b;
double d;
short e;
float f;
double g;
char *cptr;
void *vptr;
int x;
}
typedef struct {
char c1;
double *dptr;
char c2;
} innerStruct;
сколько байт этот код struct foo
собираешься взять в мою память? Я имею в виду, что если int занимает 4 байта, а char - 1, я должен просто увеличить его на основе (4+1). Кроме того, какой наименьший размер может иметь struct foo, если, скажем, мы можем изменить порядок этих элементов внутри нашей структуры? Что произойдет, если мы изменим ее на 64-битную вместо обычной 32? Влияет ли это на общий размер сохранения в памяти? Должна ли структура быть выровнена и если да, то почему?