1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int main () 5 { 6 struct foo { 7 int zoo; 8 int bar [10]; 9 float baz; 10 }; 11 12 #define offsetof(S,F) ((size_t) & (((S *) 0)->F)) 13 14 struct foo *k = (struct foo *) malloc (offsetof (struct foo, bar[4])); 15 k->bar[1] = 9; 16 free (k); 17 return 0; 18 } 19