>>51
#define hairetsu(a,b,c) char a_wsz[sizeof(size_t)+sizeof(a)*c];a*b=(a*)((char*)awsz+sizeof(size_t))
#define cksz(b,c) assert(*(size_t*)((char*)b-sizeof(size_t))>c),c

hairetsu(int,x,10);
x[cksz(x,10)]=0; // abort!