1 #include <stdio.h> 2 3 static struct sss{ 4 long double f; 5 int :0; 6 int i; 7 } sss; 8 9 #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16) 10 11 int main (void) { 12 printf ("+++int zerofield inside struct starting with longdouble:\n"); 13 printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss)); 14 printf ("offset-longdouble=%d,offset-last=%d,\nalign-longdouble=%d,align-last=%d\n", 15 _offsetof (struct sss, f), _offsetof (struct sss, i), 16 __alignof__ (sss.f), __alignof__ (sss.i)); 17 return 0; 18 } 19