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;
}
 
     
     
    