blob: b092ea0b277db01278e041d0e4c4fd443a600740 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#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;
}
|