24 lines
376 B
C
24 lines
376 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
int main ()
|
|
{
|
|
struct foo {
|
|
unsigned base:8;
|
|
unsigned flag1:1;
|
|
unsigned flag2:3;
|
|
unsigned flag3:4;
|
|
char nothing[0];
|
|
};
|
|
|
|
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
|
|
|
|
struct foo* f = (struct foo *) malloc (offsetof (struct foo, nothing));
|
|
f->base = 1;
|
|
f->flag1 = 1;
|
|
free (f);
|
|
|
|
|
|
return 0;
|
|
}
|