The following code gives the result sizeof(t1)=16 sizeof(t2)=16 I would have expected sizeof(t2)=12 because sizeof(fpos_t)=8 and sizeof(int)=4. Can someone explain this?
int main()
{
typedef struct {
fpos_t fpos;
char* s;
int a;
} t1;
typedef struct {
fpos_t fpos;
int a;
} t2;
t1 it1;
t2 it2;
printf("sizeof(t1)=%d sizeof(t2)=%d ", sizeof(t1), sizeof(t2));
return 0;
}