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