#include <stdio.h> | |
static struct sss{ | |
double f; | |
struct {short m;} snd; | |
} sss; | |
#define _offsetof(st,f) ((char *)&((st *) 16)->f - (char *) 16) | |
int main (void) { | |
printf ("+++Struct short inside struct starting with double:\n"); | |
printf ("size=%d,align=%d\n", sizeof (sss), __alignof__ (sss)); | |
printf ("offset-double=%d,offset-sss-short=%d,\nalign-double=%d,align-sss-short=%d\n", | |
_offsetof (struct sss, f), _offsetof (struct sss, snd), | |
__alignof__ (sss.f), __alignof__ (sss.snd)); | |
return 0; | |
} |