union {
 int a[3000];
 struct{
  int b[1900];
  int c[2100]={1,2,3,3,5,6};
 };
};

ってのは無理なのですか?