| #include <stdio.h> |
| |
| static struct sss{ |
| long long f; |
| long long a[10]; |
| } sss; |
| |
| #define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16) |
| |
| int main (void) { |
| printf ("++++Array of longlong in struct starting with longlong:\n"); |
| printf ("size=%d,align=%d\n", |
| sizeof (sss), __alignof__ (sss)); |
| printf ("offset-longlong=%d,offset-arrayof-longlong=%d,\nalign-longlong=%d,align-arrayof-longlong=%d\n", |
| _offsetof (struct sss, f), _offsetof (struct sss, a), |
| __alignof__ (sss.f), __alignof__ (sss.a)); |
| printf ("offset-longlong-a[5]=%d,align-longlong-a[5]=%d\n", |
| _offsetof (struct sss, a[5]), |
| __alignof__ (sss.a[5])); |
| return 0; |
| } |